通过 C++/CLI 闻到 Cppcheck 语法错误代码

Cppcheck syntax error code smell by C++/CLI

新版本的 cppcheck 在以下 old 行代码中发现了两个主要的代码味道,名为“syntax error”:

System::Reflection::Assembly^ Foo(Object^ /* obj */, System::ResolveEventArgs^ args)
        {...}

catch (System::Exception^ /*e*/)

错误文本:

Cppcheck cannot tokenize the code correctly.

知道如何解决它们吗? C++/CLI 语法有问题吗?

这对我来说似乎是误报,因为代码编译并运行了很长时间。

Any idea how to fix them?

你无能为力。 C++/CLI 是 C++ 的一种方言,它不是标准的 C++。 cppcheck 仅适用于标准 C 或 C++,因此它无法理解 C++/CLI 代码,因此无法为您提供您所看到的诊断信息。您需要从 cppcheck 检查中排除使用 C++/CLI 代码的源文件,以避免这些错误。