Синтаксическая ошибка cppcheck для is_same с шаблоном - PullRequest
0 голосов
/ 25 мая 2020

clang, clang-tidy и g cc в порядке, И код работает (конечно, в другом контексте), но если я использую cppcheck, я получаю синтаксическую ошибку из ниоткуда.

cppcheck --enable=all --inconclusive --std=c++11 --std=posix --suppress=missingIncludeSystem  main.cpp

-> наименьший рабочий образец ->

#include <iostream>
#include <list>
#include <type_traits>
#include <vector>

template <class T>
void operate(T &container)
{
    if constexpr( std::is_same<T, std::vector<int>>::value)
    {
        container.sort();
    }

    return;
}
int main()
{
    std::list<int> vv{-1,4,-4,0,4,2,5,-2};
    operate(vv);

    return 0;
}

Результат -> [main. cpp: 19]: (ошибка) синтаксическая ошибка

Версия -> Cppcheck 1.82

Любая помощь приветствуется, спасибо: -)

1 Ответ

0 голосов
/ 27 мая 2020

Я разработчик Cppcheck. Для информации, я не могу воспроизвести с последней версией Cppcheck. Вы используете старую версию Cppcheck?

...