오류내용:
a value of type void cannot be assigned to an entity of type void(*)()
함수 작성:
int Serial_CallBack()
{
printf("Serial CallBack\n");
return 0;
}
void Serial_CallBack()
{
printf("Serial CallBack\n");
}
오류가 난 코드 ↓
int (*callback_func)();
callback_func = Serial_CallBack;
void (*callback_func)();
callback_func = Serial_CallBack();
빨간색 괄호 부분이 오류가 난 직접적인 원인이다. 함수 이름만 전달해야 하는데 실수를 했다.
오류가 나지 않은 코드 ↓
void (*callback_func)();
callback_func = Serial_CallBack;
void (*callback_func)() = Serial_CallBack;
위의 둘 중에 어떤 코드를 사용해도 오류는 없다.
'언어 > C' 카테고리의 다른 글
배열의 문자열 초기값과 포인터의 문자열 초기값의 차이 (0) | 2016.10.13 |
---|---|
getc() 함수를 사용했을 때의 오류 (0) | 2016.09.28 |
전처리문 (0) | 2016.05.02 |
signed와 unsigned (0) | 2016.05.02 |
typedef (0) | 2016.05.02 |