请看一下这段代码:
QList< cContainers * > containerList;
auto wasAlreadyMoved = [&containerList]( cItem * item ) -> bool { //<---------
for( cContainer * tmp : containerList )
if( tmp->contains( item ) )
return true;
return false;
};
我在 Ubuntu 13.04 下使用 Qt Creator 2.8.0 和 Qt 5.1.0。我还使用 Clang 3.2.1 作为编译器。
上面的代码编译得很好(没有错误,没有警告),但是QtCreator 用红线在标记的代码行下划线(与错误一样):
如果我将鼠标悬停在它上面,它会显示“声明中的重复数据类型”,我不知道这是什么意思。这是最简单的 lambda,我看不出它有任何问题,那为什么会发生呢?它是 QtCreator 语法突出显示的错误吗?