我已用于创建测试功能的以下几个Ç预处理器宏: // Defines a test function in the active suite
#define test(name)\
void test_##name();\
SuiteAppender test_##name##_appender(TestSuite::active(), test_##name);\
我正在从Visual Studio 6迁移到Visual Studio 2008,并且我有一个使用名为SetDefaultPrinter的组件的功能。 不幸的是,现在有一个windows库函数,SetDefaultPrinter,具有相同的名称。与此相关的宏正在妨碍我使用我的功能。 这是我的解决办法我有打电话给我的功能: #undef SetDefaultPrinter
pNova->S
将宏名称作为其他宏的参数来模拟高阶函数是否“安全”? I.e.我应该在哪里寻找不要在自己的脚下拍自己? 下面是一些片段: #define foreach_even(ii, instr) for(int ii = 0; ii < 100; ii += 2) { instr; }
#define foreach_odd(ii, instr) for(int ii = 1; ii < 100; ii