【发布时间】:2019-04-05 13:27:48
【问题描述】:
我正在努力处理cppcheck(Linux 机器上的 1.85 版)正在报告的警告:
someFile.h:23:29:警告:冗余代码:找到以字符串常量开头的语句。 [常量语句]
const std::string OffOn[]= {"off", "on"};
^
我做了一些研究,发现将语句更改为
const std::string OffOn[]= {std::string("off"), std::string("on")};
删除警告。但是我不明白发生了什么,以及我的第一个解决方案有什么“坏处”。也许有人可以向我解释一下?或者给我一些提示!
【问题讨论】:
-
也许它建议你使用 initializer_list 像:
const std::string OffOn[]{"off", "on"};,所以=是不必要的。 -
@DenisSablukov 就是这样!现在这对我来说非常有意义。非常感谢!
-
我实际上会向 cppcheck 提交问题报告。产生的警告信息真的没有帮助。