我在 PC-Lint (au-misra-cpp.lnt) 中收到此错误:
ParameterTest.cpp(40):错误 1963:(注意——违反 MISRA C++ 2008 咨询规则 14-8-2,可行集包含函数和模板:std::shared_ptr::shared_ptr(第 499 行,文件 C:\Program文件 (x86)\Microsoft Visual Studio 11.0\VC\include\memory,模块 Parameter.cpp),std::shared_ptr::shared_ptr(第 485 行,文件 C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\ include\memory, module Parameter.cpp)) C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include\memory(499):错误 830:(信息 -- 先前消息中引用的位置)std::shared_ptr信息(信息指针);
在此代码上:
CParameterInfo* infoPtr = new CParameterInfo();
std::shared_ptr<CParameterInfo> info(infoPtr);
我尝试以不同的方式编写代码,但找不到不给出上述错误的方法。
是否可以使代码符合 MISRA?