#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
此代码应该x
根据预处理器值创建不同类型的 var。我MAP_ENGINE
在Visual C++项目设置中设置:
但是 CE4 代码仍然编译,我得到一个错误。我添加了#pragma
检查值是否设置:
1>MAP_ENGINE=CE5
1>.\MyFile.cpp(141) : error C2039: 'Type4 ' : undeclared identifier
这一定是愚蠢的,但我看不到!在项目设置中定义它是否意味着 CE4/CE5 实际上并不是一个定义的值?