#define 으로 함수 매크로 만들 때 return 형 문제!!
글쓴이: kyutae83 / 작성시간: 월, 2011/04/11 - 3:54오후
C 프로그래밍 할 때
제가 #define 으로 함수 매크로를 만들어서 쓸려고 하는데요
unsigned int functionA(void);
이런 함수가 있다면
#define functionB() functionA()
이렇게 했더니 retrun type이 unsigned int인데
int 형으로 넘어 오드라구요
그래서
#define functionB() (unsinged int)functionA()
이렇게 해서 해결 하긴 했는데
원래 그런건가요??
C를 쓰긴 하는데 완전 기본까지 제대로 공부를 안해서 그런지 이런 문제가 한번씩 생기는 군요
설명 좀 잘 부탁드립니다.
Forums:
특별한 경우 아니면(속도가 매우매우 중요하다거나..)
특별한 경우 아니면(속도가 매우매우 중요하다거나..) 가능하면 typedef을 쓰시거나 래핑 함수를 쓰시는 것을 추천합니다.
define을 쓰시면 디버거에서 못볼뿐더러 눈에 보이지 않는(정확히 말해서 잘못 쓰시면) 논리적 문제를 발생시킬수 있습니다.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
댓글 달기