您好,请找到以下简单的宏代码
#include <iostream>
#define INCL #include
INCL <stdlib.h>
int main()
{
std::cout << "Hello, world\n" << std::endl ;
return 0;
}
当我编译代码时它会抛出 错误:在程序中迷路â#â€
请帮忙。
由于
答案 0 :(得分:1)
预处理器宏无法创建其他预处理器宏。在这方面你只是运气不好。
但是,可以使用宏作为include参数:
#define FOO(x) "/usr/lib/" #x
#include FOO(mylib.h)
答案 1 :(得分:0)
C ++构建包含以下几个阶段:
关键是你尝试使用预处理器(阶段1)来预处理自身,这是行不通的。宏只能用于生成编译器的代码。您无法将预处理程序指令包装到预处理器宏中。