오류내용:

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
Posted by 知彼知己百戰不殆
,