Проблема в том, что вы используете функцию 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" << ⁢
qDebug() << "Value" << *it;
}
}
Примечание: поскольку идентификаторы это List
из QString
,вам нужно преобразовать его в int.