Запах кода синтаксической ошибки Cppcheck от C ++ / CLI - PullRequest
1 голос
/ 02 марта 2020

Новая версия cppcheck обнаружила два основных запаха кода с именем " синтаксическая ошибка " в следующих старых строках кода:

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

и

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

Errortext:

Cppcheck cannot tokenize the code correctly.

Есть идеи, как их исправить? Что-то не так с синтаксисом C ++ / CLI ?

Для меня это выглядит как ложное срабатывание, так как код компилируется и работает долгое время.

1 Ответ

2 голосов
/ 02 марта 2020

Есть идеи, как их исправить?

Ничего не поделаешь. C ++ / CLI - это диалект C ++, это не стандартный C ++. cppcheck работает только со стандартными C или C ++, поэтому он не сможет понять код C ++ / CLI и, таким образом, предоставит вам диагностику c, которую вы видите. Вам необходимо исключить исходные файлы, использующие код C ++ / CLI, из проверки cppcheck, чтобы избежать этих ошибок.

...