#define以及如何使用它们 - C++

MLS*_*MLS 4 c++ precompiled-headers c-preprocessor

在我预先编译的标题中:

#define DS_BUILD
#define PGE_BUILD
#define DEMO
Run Code Online (Sandbox Code Playgroud)

然后在源头我做:

#if (DS_BUILD && DEMO)
    ---- code---
#elif (PGE_BUILD && DEMO)
    --- code---
#else
    --- code ---
#endif
Run Code Online (Sandbox Code Playgroud)

我是否收到错误消息:

错误:运算符'&&'没有正确的操作数

我以前从未见过这个.我在OS X 10.6.3上使用XCode 3.2,GCC 4.2

shf*_*301 13

您需要添加已定义的关键字,因为您要检查已定义的定义.

#if defined (DS_BUILD) && defined (DEMO)
    ---- code---
#elif defined (PGE_BUILD) && defined (DEMO)
    --- code---
#else
    --- code ---
#endif
Run Code Online (Sandbox Code Playgroud)