가끔 코드를 작성하다가 보면 이런 메시지가 나오는 경우가 있다.
warning: 'return' with a value, in function returning void
이건 함수가 void 타입으로 되어 있는데 안에 return 값이 존재하는 것이 있다는 얘기다.
예를 들면 이런 코드 인 경우이다.
// 100을 리턴하는 매크로
#define return_value() do { \
return 100; \
} while (/*CONSTCOND*/0)
// void 반환 함수안에서 사용하면 void 를 기대했으나 return 값이 100이 되어 Warning 발생.
void return_void(void)
{
return_value();
}
간단하게는 다른 함수로 감싸서 사용하는게 편하지 않을까 싶다.
int cover(void)
{
return_value();
}
void return_void(void)
{
cover();
}
'Firmware_Memory > STM32' 카테고리의 다른 글
STM32CUBEIDE 에서 warning: cannot find entry symbol Reset_Handler 이 발생한 경우 (0) | 2022.03.15 |
---|---|
STM32CUBEIDE 에서 This project is not a CDT project 라고 나오는 경우 (0) | 2022.03.15 |
STM32F401RE SW를 사용하여 System Memory Boot 진입 (BOOT0 핀 제외) (0) | 2022.03.15 |
STM32 IAP 이슈 (0) | 2022.03.15 |