cppcheck:使用/ typedef

时间:2019-08-21 11:16:34

标签: c++ cppcheck

我在使用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

1 个答案:

答案 0 :(得分:0)

molbdnilo 所建议。问题消失了,cppcheck release 1.85