IT Share you

Xcode-경고 : 함수의 암시 적 선언이 C99에서 유효하지 않습니다.

shareyou 2020. 11. 11. 20:56
반응형

Xcode-경고 : 함수의 암시 적 선언이 C99에서 유효하지 않습니다.


경고 받기 : 'Fibonacci'함수의 암시 적 선언은 C99에서 유효하지 않습니다. 뭐가 문제 야?

#include <stdio.h>

int main(int argc, const char * argv[])
{
    int input;
    printf("Please give me a number : ");
    scanf("%d", &input);
    getchar();
    printf("The fibonacci number of %d is : %d", input, Fibonacci(input)); //!!!

}/* main */

int Fibonacci(int number)
{
    if(number<=1){
        return number;
    }else{
        int F = 0;
        int VV = 0;
        int V = 1;
        for (int I=2; I<=getal; I++) {
            F = VV+V;
            VV = V;
            V = F;
        }
        return F;
    }
}/*Fibonacci*/

함수는 호출되기 전에 선언되어야합니다. 이것은 다양한 방법으로 수행 될 수 있습니다.

  • 헤더에 프로토 타입을 기록
    합니다. 함수가 여러 소스 파일에서 호출 가능해야하는 경우이 옵션을 사용합니다. 프로토 타입
    int Fibonacci(int number);
    .h파일 (예 :)에 myfunctions.h기록한 다음 #include "myfunctions.h"C 코드에 기록하면됩니다.

  • 처음 호출되기 전에 함수를 이동합니다.
    즉, 함수
    int Fibonacci(int number){..}
    앞에 함수 를 적어 main()둡니다.

  • 명시 적으로이 처음이라고 점점 전에 함수를 선언
    이 위 맛의 조합이다 : 당신의 전에 C 파일에있는 함수의 프로토 타입을 입력 main()기능

추가 참고 사항 : 함수 int Fibonacci(int number)가 구현 된 파일에서만 사용되어야 static하는 경우 해당 번역 단위에서만 볼 수 있도록 선언되어야합니다 .


컴파일러는 함수를 사용하기 전에 알고 싶어합니다.

호출하기 전에 함수를 선언하십시오.

#include <stdio.h>

int Fibonacci(int number); //now the compiler knows, what the signature looks like. this is all it needs for now

int main(int argc, const char * argv[])
{
    int input;
    printf("Please give me a number : ");
    scanf("%d", &input);
    getchar();
    printf("The fibonacci number of %d is : %d", input, Fibonacci(input)); //!!!

}/* main */

int Fibonacci(int number)
{
//…

동일한 경고가 표시됩니다 (내 앱을 빌드 할 수 없음). 내가 추가하는 경우 C functionObjective-C's .m file, 그러나 잊고에 그것을 선언 .h파일.


함수를 제대로 호출해야합니다. 피보나치 : 입력

참고URL : https://stackoverflow.com/questions/15850042/xcode-warning-implicit-declaration-of-function-is-invalid-in-c99

반응형