最近,由于拼写错误、逗号运算符、默认值的组合,我偶然发现了一个错误。一个术语有很多括号和逗号。一个逗号放在一个括号里太远了。该术语仍然是有效的 C++ 代码,但返回的值是错误的。在简化版本中,错误如下所示:
int intValue = MyString.toInt(),16;
该方法toInt
有一个基于数字的默认参数(默认为 10)。该变量intValue
将始终为 16。
所以问题是,是否有任何样式指南规则来避免此类错误或 c++ 检查器/编译器规则来帮助在代码中查找此类错误?
编辑
好的,我已经稍微更改了代码以使逗号更有意义:
char * MyString("0x42");
int intValue = stringToInt(MyString),16;
PS 请不要怪我没有使用 std::string 和流。该代码仅用于简化演示。:-)