在不涉及血淋淋的细节的情况下,我想使用一个#define
将扩展为 a#include
但“#”符号使预处理器感到困惑的宏(因为它认为我想引用一个参数。)
例如,我想做这样的事情:
#define MACRO(name) #include "name##foo"
并这样使用它:
MACRO(Test)
这将扩展到:
#include "Testfoo"
不起眼的 # 符号导致预处理器出错。MinGW 给我以下错误:
'#' is not followed by a macro parameter
我想我需要转义 # 符号,但如果这是可能的,我不会。
是的,宏确实是邪恶的......