clang,clang和gcc都很好,代码可以工作(当然是在另一个上下文中),但是如果我使用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
欢迎任何帮助,谢谢:-)
发布于 2020-05-26 21:04:26
我是个Cppcheck开发人员。要知道,我不能用最新的Cppcheck复制。你用旧的Cppcheck版本吗?
https://stackoverflow.com/questions/62008206
复制相似问题