cppcheck的新版本在下面的[[old代码行中发现了两个主要的代码气味,分别为“ 语法错误”:
System::Reflection::Assembly^ Foo(Object^ /* obj */, System::ResolveEventArgs^ args)
{...}
和
catch (System::Exception^ /*e*/)
错误文本:
Cppcheck cannot tokenize the code correctly.
任何想法如何解决它们? C++/CLI语法有问题吗?对我来说,这似乎是一个错误的判断,因为代码可以长时间编译和运行。
任何想法如何解决它们?
您无能为力。 C ++ / CLI是C ++的方言,不是标准C ++。 cppcheck仅适用于标准C或C ++,因此它将无法理解C ++ / CLI代码,从而为您提供诊断信息。您需要从cppcheck检查中排除使用C ++ / CLI代码的源文件,以避免这些错误。