我在使用cppcheck和using / typedef声明时遇到语法错误。 我有一个包含
的结构struct inferior
{
using visitor = int;
template <typename T>
bool operator()(const T &a, const T &b) const
{
return a < b;
}
};
int main() {
return 0;
}
我运行cppcheck file.cpp
时的输出是
[file.cpp:5]: (error) syntax error
,没有更多输出。
如果我删除using
声明,错误就会消失。
我想知道这是否是cppcheck
的正常行为。 using
声明未直接使用。 (这是带有using
重新定义int的简化示例。
某些上下文(如果需要):在我的应用程序中,using
定义了访问者OnlyArithmetic
的特殊化,例如:using visitor = OnlyArithmetic<inferior>
使用元编程技术过滤非算术类型,然后我在劣势:: visitor()上调用std :: visit。我用这个技巧不对我需要的所有结构(劣等,优等)重复过滤部分。
[EDIT]使用cppcheck 1.88