-
我在QtCreate中编译qtwebengine的时候,出现错误“二进制=:没有找到const T类型的做操作数的运算符(或没有可接受的转换)”,代码如下:
algorithm template <class _BidIt, class _Pr> _CONSTEXPR20 _BidIt _Insertion_sort_unchecked(const _BidIt _First, const _BidIt _Last, _Pr _Pred) { // insertion sort [_First, _Last) if (_First != _Last) { for (_BidIt _Mid = _First; ++_Mid != _Last;) { // order next element _BidIt _Hole = _Mid; _Iter_value_t<_BidIt> _Val = _STD move(*_Mid); if (_DEBUG_LT_PRED(_Pred, _Val, *_First)) { // found new earliest element, move to front _Move_backward_unchecked(_First, _Mid, ++_Hole); //*_First = _STD move(_Val); } else { // look for insertion point after first for (_BidIt _Prev = _Hole; _DEBUG_LT_PRED(_Pred, _Val, *--_Prev); _Hole = _Prev) { *_Hole = _STD move(*_Prev); // move hole down } *_Hole = _STD move(_Val); // insert element in hole } } } return _Last; } } else { // look for insertion point after first for (_BidIt _Prev = _Hole; _DEBUG_LT_PRED(_Pred, _Val, *--_Prev); _Hole = _Prev) { *_Hole = _STD move(*_Prev); // move hole down } *_Hole = _STD move(_Val); // insert element in hole }
QtCreate列出的报错信息:
IDE\VC\Tools\MSVC\14.36.32532\include\algorithm(7931): error C2678: 二进制“=”: 没有找到接受“const T”类型的左操作数的运算符(或没有可接受的转换) with [ T=perfetto::trace_processor::TimestampedTracePiece ] C:\Qt\5.15.2\Src\qtwebengine\src\3rdparty\chromium\third_party\perfetto\src/trace_processor/timestamped_trace_piece.h(256): note: 可能是“perfetto::trace_processor::TimestampedTracePiece &perfetto::trace_processor::TimestampedTracePiece::operator =(const perfetto::trace_processor::TimestampedTracePiece &)” C:\Qt\5.15.2\Src\qtwebengine\src\3rdparty\chromium\third_party\perfetto\src/trace_processor/timestamped_trace_piece.h(191): note: 或 “perfetto::trace_processor::TimestampedTracePiece &perfetto::trace_processor::TimestampedTracePiece::operator =(perfetto::trace_processor::TimestampedTracePiece &&)” D:\vs2019\IDE\VC\Tools\MSVC\14.36.32532\include\algorithm(7931): note: 尝试匹配参数列表“(const T, perfetto::trace_processor::TimestampedTracePiece)”时 with [ T=perfetto::trace_processor::TimestampedTracePiece ] D:\vs2019\IDE\VC\Tools\MSVC\14.36.32532\include\algorithm(8053): note: 查看对正在编译的函数 模板 实例化“_BidIt std::_Insertion_sort_unchecked<_RanIt,_Pr>(const _BidIt,const _BidIt,_Pr)”的引用 with [ _BidIt=perfetto::base::CircularQueue<perfetto::trace_processor::TimestampedTracePiece>::Iterator, _RanIt=perfetto::base::CircularQueue<perfetto::trace_processor::TimestampedTracePiece>::Iterator, _Pr=std::less<void> ] D:\vs2019\IDE\VC\Tools\MSVC\14.36.32532\include\algorithm(8083): note: 查看对正在编译的函数 模板 实例化“void std::_Sort_unchecked<_FwdIt,_Fn>(_RanIt,_RanIt,__int64,_Pr)”的引用 with [ _FwdIt=perfetto::base::CircularQueue<perfetto::trace_processor::TimestampedTracePiece>::Iterator, _Fn=std::less<void>, _RanIt=perfetto::base::CircularQueue<perfetto::trace_processor::TimestampedTracePiece>::Iterator, _Pr=std::less<void> ] D:\vs2019\IDE\VC\Tools\MSVC\14.36.32532\include\algorithm(8088): note: 查看对正在编译的函数 模板 实例化“void std::sort<_RanIt,std::less<void>>(const _RanIt,const _RanIt,_Pr)”的引用 with [ _RanIt=perfetto::base::CircularQueue<perfetto::trace_processor::TimestampedTracePiece>::Iterator, _Pr=std::less<void> ] ../../../../../Src/qtwebengine/src/3rdparty/chromium/third_party/perfetto/src/trace_processor/trace_sorter.cc(51): note: 查看对正在编译的函数 模板 实例化“void std::sort<_FwdIt>(const _RanIt,const _RanIt)”的引用 with [ _FwdIt=perfetto::base::CircularQueue<perfetto::trace_processor::TimestampedTracePiece>::Iterator, _RanIt=perfetto::base::CircularQueue<perfetto::trace_processor::TimestampedTracePiece>::Iterator ]
-
S SGaist moved this topic from QtWebEngine on