Как сопоставить две переменные QList в Qt
Я хочу сравнить два Qlist сказать
QList<QSerialPortInfo> port1;
QList<QSerialPortInfo> port2;
Я хочу реализовать это в if
состояние такое, что
if (port1 != port2)
{
// do something
}
но кажется, что это не работает так, что я прочитал документацию для QList и есть этот член
operator!=(const QList<T> &other) const
Любая идея, как реализовать это, пожалуйста, не идите и скажите о, я не собираюсь дать вам решение, но вот совет. Я не студент, и это не домашнее задание. Я делаю свой собственный проект в Qt. Спасибо, парни.
1 ответ
От QList<T>::operator!=
документация...
Эта функция требует, чтобы тип значения имел реализацию оператора ==().
К сожалению нет действительного operator==
определено для QSerialPortInfo
но вы можете легко реализовать свой собственный...
bool operator== (const QSerialPortInfo &lhs, const QSerialPortInfo &rhs)
{
return lhs.manufacturer() == rhs.manufacturer()
&& lhs.serialNumber() == rhs.serialNumber();
}
Показанный код предполагает, что QSerialPortInfo
Экземпляр может быть однозначно идентифицирован его производителем и серийным номером.