글
#include 와 #define 의 순서
Programming/C Language
2009. 8. 18. 23:08
#include 를 먼저 쓰고 #define 을 사용 하도록 한다.
이 때 #define을 #include 위에 먼저 쓰게 되면 에러가 발생 한다. 그 이유는 MessageBox의 원형을 보면 MessageBox( HWND hWnd, LPCSTR lpText, ~ ); 으로 되어 있는데 두번째 인자가 lpText로 매크로 정의 한 것과 같다. 그래서 #define을 먼저 쓰게 되면 함수 원형의 lpText도 매크로로 치환이 되서 에러가 발생하게 된다.
출처 : www.winapi.co.kr
#include <Turboc.h>
#define lpText "매크로"
void main()
{
MessageBox( NULL, lpText, ~~ );
}
#define lpText "매크로"
void main()
{
MessageBox( NULL, lpText, ~~ );
}
이 때 #define을 #include 위에 먼저 쓰게 되면 에러가 발생 한다. 그 이유는 MessageBox의 원형을 보면 MessageBox( HWND hWnd, LPCSTR lpText, ~ ); 으로 되어 있는데 두번째 인자가 lpText로 매크로 정의 한 것과 같다. 그래서 #define을 먼저 쓰게 되면 함수 원형의 lpText도 매크로로 치환이 되서 에러가 발생하게 된다.
출처 : www.winapi.co.kr
'Programming > C Language' 카테고리의 다른 글
#if (0) | 2010.05.27 |
---|---|
구조체 정렬 (0) | 2009.09.27 |
매크로 함수 (0) | 2009.08.18 |
코딩 스타일 (0) | 2009.08.15 |
#ifndef ~ #define ~ #endif (0) | 2009.08.15 |