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

    今天用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的语法分析器并没有识别出该行实际上已经是注释了。

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值