앞으로는 경고와 함께 코드 스 니펫을 제공하여 작업 할 몇 가지 컨텍스트를 마련하십시오. 그렇지 않으면 실제 문제가 무엇인지 추측 할 수 있습니다.
sqlcxt, sqlcx2t 등이 함수라고 가정합니다. 소스 코드를 보지 않고도 사용하기 전에 범위에있는 함수에 대한 선언이없는 것 같습니다. 여기
내가 무엇을 의미하는지에 대한 간단한 예입니다 :
컴파일러는
main
에
foo
에 대한 호출을보고
int main(void)
{
foo();
return 0;
}
void foo(void)
{
// do something interesting
}
,이 범위에서 선언이없는, 그래서 foo
반환하지 int로 가정합니다 무효, 그리고 당신이 위에서 얻은 것과 비슷한 경고를 반환합니다.
함수가 호출 될 때 동일한 파일에 정의 된 경우이 문제를 해결하는 데는 두 가지 방법이 있습니다. 그것을 사용하기 전에 내 선호하는 방법은 함수를 정의하는 것입니다 : 그것은 이러한 기능 같은 소리
void foo(void);
int main(void)
{
foo();
return 0;
}
void foo(void)
{
// do something interesting
}
이 부분은 다음과 같습니다
void foo(void)
{
// do something interesting
}
int main(void)
{
foo();
return 0;
}
또 다른 방법은 그것을 호출하기 전에 범위에서 함수의 선언을하는 것입니다 데이터베이스 API의; 그렇다면,이 이러한 기능에 대한 선언을 포함하는 헤더 파일이어야하고, 그 헤더는 소스 파일에 포함되어야하는 데 도움이
/** foo.c */
#include "foo.h"
void foo(void)
{
// do something interesting
}
/** end foo.c */
/** foo.h */
#ifndef FOO_H
#define FOO_H
void foo(void);
#endif
/** end foo.h */
/** main.c */
#include "foo.h"
int main(void)
{
foo();
return 0;
}
/** end main.c */
희망. 내가 * C 프로 사용하기 때문에
경고를 어떻게 제거 할 수 있습니까? 자세히 설명해 주시겠습니까?귀하의 조언을 주셔서 감사합니다 – ambika