“声明中的重复数据类型”是什么意思?

时间:2013-09-16 12:37:29

标签: c++ qt c++11 qt-creator

请看一下这段代码:

QList< cContainers * > containerList;

auto wasAlreadyMoved = [&containerList]( cItem * item ) -> bool { //<---------
    for( cContainer * tmp : containerList )
        if( tmp->contains( item ) )
            return true;
    return false;
};

我正在使用Qt Creator 2.8.0,在Ubuntu 13.04下使用Qt 5.1.0。我也使用Clang 3.2.1作为编译器。

上面的代码编译正常(没有错误,没有警告), QtCreator用红线标出标记的代码行(与错误一样):

enter image description here

如果我将鼠标悬停在它上面,它会显示“声明中的重复数据类型”,我不知道它是什么意思。这是最简单的lambda,我没有看到任何问题,为什么会发生?是QtCreator语法突出显示错误吗?

1 个答案:

答案 0 :(得分:7)

我认为在QtCreator bugtracker中已经报告了这个bug:Lambda的返回类型“void”被认为是“声明中的重复数据类型”。

[bug#8773](https://bugreports.qt.io/browse/QTCREATORBUG-8773