[英]Can't return QStringList from lambda into a function
我正在嘗試使用以下代碼填充QT 5.7中的組合框:
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;
});
但這給了我這個錯誤: no viable conversion from '(lambda at ..)' to 'const QStringList'
有什么問題?
為addItems需要一個QStringList中,而不是產生一個QStringList中,所以你要打電話給你的拉姆達得到QStringList中拉姆達:
ui->comboBox_2->addItems([]() { ... }());
在{}末尾包含()以顯式調用此lambda函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.