A测试C

#define COMMENT /##/

int main()
{
   ...
   COMMENT int atest;
   ...
}

错误消息:
atest.c:16:1: error: pasting "/" and "/" does not give a valid preprocessing token
atest.c: In function 'main':
atest.c:16: error: expected expression before '/' token
而microsoft c编译器对comment宏很满意。here的提示也不起作用。
有人能对此给出解决方案或解释吗?谢谢。

最佳答案

使用标记粘贴运算符##时,组合两个操作数的结果必须是有效的预处理器标记。
//不是有效的预处理标记。预处理在删除注释之后进行,因此无法在预处理阶段添加注释。

09-19 00:52