[c] declared 'static' but never defined

[c] declared 'static' but never defined

declared ‘static’ but never defined error

enter image description here

헤더파일에 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 댓글