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的提示也不起作用。
有人能对此给出解决方案或解释吗?谢谢。
最佳答案
使用标记粘贴运算符##
时,组合两个操作数的结果必须是有效的预处理器标记。//
不是有效的预处理标记。预处理在删除注释之后进行,因此无法在预处理阶段添加注释。