无法将lambda中的QStringList返回到函数中

时间:2016-06-17 14:29:34

标签: c++ qt lambda

我尝试使用以下代码填写QT 5.7中的组合框:

if a == b && a == c {...}

但它给了我这个错误:ui->comboBox_2->addItems([]() -> QStringList { QDate date = QDate::currentDate(); int current_year = date.toString("yyyy").toInt(); QStringList year_list; for (int i = 0; i <= 50; i++) { year_list << QString::number(current_year - (50 - i)); } return year_list; });
问题是什么?

2 个答案:

答案 0 :(得分:1)

addItems需要一个QStringList,而不是一个产生QStringList的lambda,所以你必须调用你的lambda来获取QStringList:

ui->comboBox_2->addItems([]() { ... }());

答案 1 :(得分:0)

在{}结束时使用

include()来显式调用此lambda函数。