繁体   English   中英

在取消定义之前,将宏变量的值使用/复制到宏函数中/将其复制到宏函数中:是否可能?

[英]Using/Copying the value of a macro variable in/to a macro function before undefining it: is it possible?

如果我有:

#define A 1
#define B() A
#undef A

这段代码:

#if B()
    std::cout << "B" << std::endl;
#else
    std::cout << "not B" << std::endl;
#endif

将打印“不是B”。 有没有一种方法可以将A分配给另一个宏变量/函数,然后清除掉A?

背景:在cmake的configure_file上下文中使用 ,其中A是使用#cmakedefine01定义的。

没有。

宏不是类,也不具有这种复杂性。

如果一个宏是用另一个宏定义的,则两个宏都必须保留下来才能使替换正常工作。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM