【发布时间】:2013-05-31 08:28:06
【问题描述】:
我在 PC-Lint (au-misra-cpp.lnt) 中收到此错误:
错误 1960:(注意——违反 MISRA C++ 2008 要求的规则 5-2-12, 数组类型传递给期望指针的函数)
关于此代码:
_IDs["key"] = "value";
_ID 声明为:
std::map<std::string,std::string> _IDs;
也试过改成:
_IDs.insert("key","value");
但得到同样的错误。
如何让代码符合 misra 标准?
【问题讨论】:
-
MISRA 对不使用reserved names 有什么要说的吗?如果不是,C++ 标准当然可以。
-
是的,它不喜欢下划线。违反 MISRA C++ 2008 规定的规则 17-0-2,C++ 标识符模式的重用。