✅ 목표 (Goal)

vodi func() 와 void func(void)는 다르단다. 누가 그래? 컴파일러가요.. 웅? ㅋㅋ

✅ 내용 (Contents)

함수 포인터 교안 만들다가, 아래와 같은 코드에서..

콜백 함수(callback function)란?

(1)과 (2)가 다른건 *** 에서 void가 추가되었다는 것 뿐이다.

// 상략...
void (*fp)() = NULL;
fp = bts;
hive(fp);
// 하략...
// 상략...
void (*fp)(void) = NULL; // *** void추가됨
fp = bts;
hive(fp);
// 하략...

추가하면 아래와 같은 경고가 난다.

Untitled

이 경고의 의미는..

void (*fp)(void) 에 void func()를 집어넣었는데, 매개변수 목록이 다르다는 거지.

즉 ()라고 해줘야 하는데 왜 (void)라고 하냐 이거지.

✅ 아니, func()나 func(void)나 같은거 아냐?

보통 우리는 (1)과 (2)가 같다고 배우고,