declared ‘static’ but never defined error
헤더파일에 static으로 선언한 부분이 빌드 후 warning 으로 뜨길래 왜그런가 찾아봤더니 문법적으로는 헤더파일에 static을 사용하는 것은 문제되지 않으나 헤더파일 개념 자체가 여러 소스파일에서 공유하는 의미라는 것으로 봤을 때 local에서만 사용할 static을 헤더파일에 넣은 것은 의미가 없으므로 컴파일러가 warning 을 띄우는 것
#include "test1.h"
int main()
{
return 0;
}
static int test1()
{
return 0;
}
test1.h 파일
static int test1();
위와 같은 상황에서 test1.h 파일에서 컴파일러가 warning 을 만들 수 있음
따라서 static 함수는 c 파일에서 선언/정의 한다.
도움이 되셨다면 더 좋은 정보 공유를 위해 광고 클릭 부탁 드립니다 :)
0 댓글