Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
嗨,请找到以下简单的宏代码
#include <iostream> #define INCL #include INCL <stdlib.h> int main() { std::cout << "Hello, world\n" << std::endl ; return 0; }
当我编译代码时它会抛出错误:程序中的流浪â#â
请帮忙。
谢谢
预处理器宏不能创建其他预处理器宏。在这方面你只是不走运。
但是,您可以使用宏作为包含参数:
#define FOO(x) "/usr/lib/" #x #include FOO(mylib.h)
C++ 构建包括以下阶段:
关键是您尝试使用预处理器(第 1 阶段)对自身进行预处理,这是行不通的。宏只能用于生成编译器代码。您不能将预处理器指令包装到预处理器宏中。