cppcheck对const std :: string []发出警告

时间:2018-11-01 10:23:57

标签: c++ cppcheck

我正在为cppcheck(Linux计算机上的1.85版)正在报告的警告而苦苦挣扎:

  

someFile.h:23:29:警告:冗余代码:找到了以字符串常量开头的语句。 [constStatement]
  const std :: string OffOn [] = {“ off”,“ on”};
                              ^

我做了一些研究,发现将语句更改为

const std::string OffOn[]= {std::string("off"), std::string("on")};

删除警告。但是,我不了解发生什么情况以及第一个解决方案的“坏处”。也许有人可以向我解释?或给我一些提示!

1 个答案:

答案 0 :(得分:16)

建议您对 braced-init-list 使用初始化,例如:const std::string OffOn[]{"off", "on"};,因此=不必要。