【发布时间】:2013-09-12 10:36:19
【问题描述】:
#pragma message("MAP_ENGINE=" BOOST_PP_STRINGIZE(MAP_ENGINE))
#if MAP_ENGINE == CE4
Type4 x = new Type4();
#elif MAP_ENGINE == CE5
Type5 x = new Type5();
#endif
此代码应该根据预处理器值创建不同类型的 var x。我在 Visual C++ 项目设置中设置了MAP_ENGINE:
但 CE4 代码仍在编译,我得到一个错误。我添加了#pragma 来检查值是否设置:
1>MAP_ENGINE=CE5
1>.\MyFile.cpp(141) : error C2039: 'Type4 ' : undeclared identifier
它一定是愚蠢的,但我看不到它!在项目设置中定义它是否意味着 CE4/CE5 实际上并不是一个定义的值?
【问题讨论】:
标签: visual-c++ visual-studio-2005 c-preprocessor