1
我已用于创建测试功能的以下几个Ç预处理器宏:如何删除这些C宏之间的重复?
// Defines a test function in the active suite
#define test(name)\
void test_##name();\
SuiteAppender test_##name##_appender(TestSuite::active(), test_##name);\
void test_##name()
其中使用这样的:
test(TestName) {
// Test code here
}
和
// Defines a test function in the specified suite
#define testInSuite(name, suite)\
void test_##name();\
SuiteAppender test_##name##_appender(suite, test_##name);\
void test_##name()
这是像这样使用:
test(TestName, TestSuiteName) {
// Test code here
}
如何删除两个宏之间的重复?
工作的呢?我认为预处理器在一次传递中扩展宏... – 2009-05-19 09:44:50