Нет жизнеспособных перегруженных "=" в QT - PullRequest
0 голосов
/ 21 сентября 2019

Я написал код ниже, но я получаю уведомление о том, что «Жизнеспособный перегружен» не существует.

(обратите внимание, что идентификатор списка содержит несколько строк)

QList<QString>id;
QList<int>::iterator iter;
iter = std::find(logid.begin(), logid.end(), id);

1 Ответ

1 голос
/ 21 сентября 2019

Проблема в том, что вы используете функцию std::find неправильно.Вы также пытаетесь найти в списке другой список.

Попробуйте:

#include <QtDebug>

QList<int> logid = {1, 2, 3};
QList<QString> ids = {"2", "5"};
for (const auto &id : ids) {
    auto it = std::find_if(logid.begin(), logid.end(), [&](const int x) {
        return x == id.toInt();
    });

    if (it != logid.end()) {
        // Valid item
        qDebug() << "Address" << &it;
        qDebug() << "Value" << *it;
    }
}

Примечание: поскольку идентификаторы это List из QString,вам нужно преобразовать его в int.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...