/home/shz/Project/appHDQt6/udptask.cpp:1353: error: no match for ‘operator<’ (operand types are ‘const QHostAddress’ and ‘const QHostAddress’)
In file included from /usr/include/c++/9/utility:70,
from ../../Qt6/6.7.3/gcc_64/include/QtCore/qglobal.h:15,
from ../../Qt6/6.7.3/gcc_64/include/QtCore/QtCore:4,
from ../appHDQt6/paramdef.h:4,
from ../appHDQt6/deviceparameterstorage.h:4,
from ../appHDQt6/udptask.h:4,
from ../appHDQt6/udptask.cpp:15:
/usr/include/c++/9/bits/stl_pair.h: In instantiation of ‘constexpr bool std::operator<(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&) [with _T1 = QHostAddress; _T2 = short unsigned int]’:
/usr/include/c++/9/bits/stl_function.h:386:20: required from ‘constexpr bool std::less<_Tp>::operator()(const _Tp&, const _Tp&) const [with _Tp = std::pair<QHostAddress, short unsigned int>]’
/usr/include/c++/9/bits/stl_tree.h:2564:8: required from ‘std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::find(const _Key&) [with _Key = std::pair<QHostAddress, short unsigned int>; _Val = std::pair<const std::pair<QHostAddress, short unsigned int>, long long unsigned int>; _KeyOfValue = std::_Select1st<std::pair<const std::pair<QHostAddress, short unsigned int>, long long unsigned int> >; _Compare = std::less<std::pair<QHostAddress, short unsigned int> >; _Alloc = std::allocator<std::pair<const std::pair<QHostAddress, short unsigned int>, long long unsigned int> >; std::_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::pair<QHostAddress, short unsigned int>, long long unsigned int> >]’
/usr/include/c++/9/bits/stl_map.h:1169:29: required from ‘std::map<_Key, _Tp, _Compare, _Alloc>::iterator std::map<_Key, _Tp, _Compare, _Alloc>::find(const key_type&) [with _Key = std::pair<QHostAddress, short unsigned int>; _Tp = long long unsigned int; _Compare = std::less<std::pair<QHostAddress, short unsigned int> >; _Alloc = std::allocator<std::pair<const std::pair<QHostAddress, short unsigned int>, long long unsigned int> >; std::map<_Key, _Tp, _Compare, _Alloc>::iterator = std::_Rb_tree_iterator<std::pair<const std::pair<QHostAddress, short unsigned int>, long long unsigned int> >; std::map<_Key, _Tp, _Compare, _Alloc>::key_type = std::pair<QHostAddress, short unsigned int>]’
../../Qt6/6.7.3/gcc_64/include/QtCore/qmap.h:370:14: required from ‘T& QMap<Key, T>::operator[](const Key&) [with Key = std::pair<QHostAddress, short unsigned int>; T = long long unsigned int]’
../appHDQt6/udptask.cpp:1353:32: required from here
/usr/include/c++/9/bits/stl_pair.h:455:24: error: no match for ‘operator<’ (operand types are ‘const QHostAddress’ and ‘const QHostAddress’)
455 | { return __x.first < __y.first
| ~~~~~~~~~~^~~~~~~~~~~
/usr/include/c++/9/bits/stl_pair.h:454:5: note: candidate: ‘template<class _T1, class _T2> constexpr bool std::operator<(const std::pair<_T1, _T2>&, const std::pair<_T1, _T2>&)’
454 | operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
| ^~~~~~~~
/usr/include/c++/9/bits/stl_pair.h:454:5: note: template argument deduction/substitution failed:
/usr/include/c++/9/bits/stl_pair.h:455:24: note: ‘const QHostAddress’ is not derived from ‘const std::pair<_T1, _T2>’
455 | { return __x.first < __y.first
| ~~~~~~~~~~^~~~~~~~~~~ 是什么问题?