// 按车道序列号排序 (lane_seq从左到右递增)
std::sort(section_lanes.begin(), section_lanes.end(),
[](ConstLaneInfo a, ConstLaneInfo b) {
return a->lane_seq < b->lane_seq;
});
/usr/include/c++/9/bits/stl_algo.h:1973:25: required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<cem::fusion::navigation::SdNavigationHighway::GetEmergencyLaneInfo()::<lambda(ConstLaneInfo, ConstLaneInfo)> >]’
/usr/include/c++/9/bits/stl_algo.h:4905:18: required from ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >; _Compare = cem::fusion::navigation::SdNavigationHighway::GetEmergencyLaneInfo()::<lambda(ConstLaneInfo, ConstLaneInfo)>]’
modules/perception/env/src/lib/sd_navigation/SdNavigationHighway.cpp:1974:16: required from here
/usr/include/c++/9/bits/stl_heap.h:225:29: error: assignment of read-only location ‘__first.__gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >::operator+(__holeIndex).__gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >::operator*()’
225 | *(__first + __holeIndex) = _GLIBCXX_MOVE(*(__first + __secondChild));
| ^
/usr/include/c++/9/bits/stl_heap.h:231:29: error: assignment of read-only location ‘__first.__gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >::operator+(__holeIndex).__gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >::operator*()’
231 | *(__first + __holeIndex) = _GLIBCXX_MOVE(*(__first
| ^
In file included from /usr/include/c++/9/bits/stl_tree.h:63,
from /usr/include/c++/9/map:60,
from modules/perception/env/src/lib/sd_navigation/SdNavigationHighway.h:4,
from modules/perception/env/src/lib/sd_navigation/SdNavigationHighway.cpp:1:
/usr/include/c++/9/bits/stl_algobase.h: In instantiation of ‘_BI2 std::__copy_move_backward_a(_BI1, _BI1, _BI2) [with bool _IsMove = true; _BI1 = const cem::message::env_model::LaneInfo* const*; _BI2 = const cem::message::env_model::LaneInfo* const*]’:
/usr/include/c++/9/bits/stl_algobase.h:617:5: required from ‘_BI2 std::__copy_move_backward_a2(_BI1, _BI1, _BI2) [with bool _IsMove = true; _BI1 = __gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >; _BI2 = __gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >]’
/usr/include/c++/9/bits/stl_algobase.h:686:48: required from ‘_BI2 std::move_backward(_BI1, _BI1, _BI2) [with _BI1 = __gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >; _BI2 = __gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >]’
/usr/include/c++/9/bits/stl_algo.h:1856:8: required from ‘void std::__insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<cem::fusion::navigation::SdNavigationHighway::GetEmergencyLaneInfo()::<lambda(ConstLaneInfo, ConstLaneInfo)> >]’
/usr/include/c++/9/bits/stl_algo.h:1890:25: required from ‘void std::__final_insertion_sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<cem::fusion::navigation::SdNavigationHighway::GetEmergencyLaneInfo()::<lambda(ConstLaneInfo, ConstLaneInfo)> >]’
/usr/include/c++/9/bits/stl_algo.h:1976:31: required from ‘void std::__sort(_RandomAccessIterator, _RandomAccessIterator, _Compare) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >; _Compare = __gnu_cxx::__ops::_Iter_comp_iter<cem::fusion::navigation::SdNavigationHighway::GetEmergencyLaneInfo()::<lambda(ConstLaneInfo, ConstLaneInfo)> >]’
/usr/include/c++/9/bits/stl_algo.h:4905:18: required from ‘void std::sort(_RAIter, _RAIter, _Compare) [with _RAIter = __gnu_cxx::__normal_iterator<const cem::message::env_model::LaneInfo* const*, std::vector<const cem::message::env_model::LaneInfo* const> >; _Compare = cem::fusion::navigation::SdNavigationHighway::GetEmergencyLaneInfo()::<lambda(ConstLaneInfo, ConstLaneInfo)>]’
modules/perception/env/src/lib/sd_navigation/SdNavigationHighway.cpp:1974:16: required from here
/usr/include/c++/9/bits/stl_algobase.h:606:37: error: no matching function for call to ‘std::__copy_move_backward<true, true, std::random_access_iterator_tag>::__copy_move_b(const cem::message::env_model::LaneInfo* const*&, const cem::message::env_model::LaneInfo* const*&, const cem::message::env_model::LaneInfo* const*&)’
605 | return std::__copy_move_backward<_IsMove, __simple,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
606 | _Category>::__copy_move_b(__first,
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
607 | __last,
| ~~~~~~~
608 | __result);
| ~~~~~~~~~
/usr/include/c++/9/bits/stl_algobase.h:577:2: note: candidate: ‘template<class _Tp> static _Tp* std::__copy_move_backward<_IsMove, true, std::random_access_iterator_tag>::__copy_move_b(const _Tp*, const _Tp*, _Tp*) [with _Tp = _Tp; bool _IsMove = true]’
577 | __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
| ^~~~~~~~~~~~~
/usr/include/c++/9/bits/stl_algobase.h:577:2: note: template argument deduction/substitution failed:
/usr/include/c++/9/bits/stl_algobase.h:606:37: note: deduced conflicting types for parameter ‘_Tp’ (‘const cem::message::env_model::LaneInfo*’ and ‘const cem::message::env_model::LaneInfo* const’)
605 | return std::__copy_move_backward<_IsMove, __simple,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
606 | _Category>::__copy_move_b(__first,
| ~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
607 | __last,
| ~~~~~~~
608 | __result);
| ~~~~~~~~~
最新发布