(C++)注释末尾的反斜杠

来源:互联网 发布:mac截图快捷键不能用 编辑:程序博客网 时间:2024/04/30 16:01

    今天用GCC编译遇到如下警告(使用了-Wall选项):warning: multi-line comment [-Wcomment]

    导致警告的代码是一个函数声明上面的注释,如下:

// this arg is a driver, for example c:\// and you can ...

    查了下原来在注释行的末尾加上反斜杠会导致编译器连接本行和下行(和宏定义类似)。这里由于两行都是注释,所以不会有什么问题。

    但是考虑如下例子:

#include <iostream>#include <string>#define VER_NUM "10"std::string get_version_str(){  std::string ver("ver=");#ifdef DEBUG  ver += (std::string(VER_NUM) + "&debug=true");#else // release version string...\  ver += std::string(VER_NUM);#endif  return ver;}int main(){  std::cout<<get_version_str()<<std::endl;  return 0;}

    这个例子中,非DEBUG模式下永远取不到正确的version string。可以看第12行,csdn的语法分析器并没有识别出该行实际上已经是注释了。

原创粉丝点击