我正在使用MACRO来定义变量SUCESS
#ifdef SUCCESS
#undef SUCCESS
#define SUCCESS 0
#endif //SUCCESS
Run Code Online (Sandbox Code Playgroud)
但Eclipse编译器给出了我的错误
symbol "SUCCESS" could not be resolved
Run Code Online (Sandbox Code Playgroud)
但如果我写的话
#define SUCCESS 0
Run Code Online (Sandbox Code Playgroud)
它工作正常.为什么会如此.我只能用#ifdef写
像这样改写:
#undef SUCCESS
#define SUCCESS 0
Run Code Online (Sandbox Code Playgroud)
这样,无论SUCCESS先前是否已定义,您都可以获得定义.我也删除了#ifdef ... #endif包装器.它不是必需的:#undef如果尚未定义其目标,则忽略它.