gpt4 book ai didi

c++ - 为什么在C++宏上扩展为注释时会出现 “Expected a declaration”错误?

转载 作者:行者123 更新时间:2023-12-02 10:07:39 26 4
gpt4 key购买 nike

我有以下宏:

#define DEFINE_EXPORT_MODULE(__module__) /##*Exported by __module__*/

如果我这样使用它: DEFINE_EXPORT_MODULE(foo),它将正确扩展为 /*Exported by foo*/,但仍然出现E0169错误:“期望的声明”。

怎么了?

编辑:这是我在代码中使用它的方式。
#define DEFINE_EXPORT_MODULE(__module__) /##*Exported by __module__*/

DEFINE_EXPORT_MODULE("foo.dll") //this produces the error.
void Function(void);

最佳答案

扩展宏后,粘贴运算符的结果必须是有效的 token 。

尝试创建注释失败,因为在预处理开始之前已删除注释。

参见reference

关于c++ - 为什么在C++宏上扩展为注释时会出现 “Expected a declaration”错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59378316/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com