|
솔찍이 님이 선언한 매크로는 처음 보는 방식이라 잘 모르겠구요.
제가 지금 씨빌더라 없어서 비졀씨에서 컴파일 해봤는데요.
아래 같은 에러가 납니다.
error C2010: '.' : unexpected in macro formal parameter list
error C2010: '.' : unexpected in macro formal parameter list
error C2010: '.' : unexpected in macro formal parameter list
a다음에 붙은 ...이 전부 에러로 뜨는데요.
님은 warning만 뜬다고 하셨죠? 비졀씨라 그런지 모르겠군요.
암튼..
그냥
#define dprintf(a) fprintf(stderr, a)
이러케 해도 괜찮을것 같은데..
a... 이나 ##a 가 어떤 역할은 하는건지 정말 궁금하네요.
유닉스에서 쓰고 계셨다니 좀 알려주시죠. ^^
민인학 님이 쓰신 글 :
: #ifdef MEM
: # define dprintf(a...) fprintf(stderr, ##a)
: #else
: # define dprintf(a...)
: #endif
:
:
: warning메세지는 Call to function 'dprintf' with no prototype...
:
: 분명히 위의 메크로가 들어있는 헤더파일을 include를 했는데...
: warning 메세지가 뜨네요... 아무래도 macro 선언을 잘멋 한것 같은데...
: 이건 유닉스에서 쓰던 메크로를 그대로 가져와 bcc++ 5.5에서 컴파일 한것입니다...
:
:
|