簡體   English   中英

無法從Lambda返回QStringList到函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM