在这个函数中,我想在向量队列中搜索“顶点”。
bool PriorityQueue::contains(VertexPriority vertex) const {
return (std::find(queue.begin(), queue.end(), vertex) != queue.end());
}
向量队列是这个对象的一个实例:
std::vector<VertexPriority> queue;
我的运算符重载是这样的:
bool operator==(const VertexPriority& v){ return (v.vertex == vertex); }
我该如何解决这个错误?
上升的错误是下一个错误,并且在每个错误的开头都有以下路径:
C:\Dev-Cpp\include\c++\3.4.2\bits\stl_algo.h
在函数 `_RandomAccessIterator std::find(_RandomAccessIterator, _RandomAccessIterator, const _Tp&, std::random_access_iterator_tag) [with _RandomAccessIterator = __gnu_cxx::__normal_iterator >>, _Tp = VertexPriority]':
从 `_InputIterator std::find(_InputIterator, _InputIterator, const _Tp&) [with _InputIterator = __gnu_cxx::__normal_iterator >>, _Tp = VertexPriority]'
传递
const VertexPriority' as
`bool VertexPriority::operator==(const VertexPriority&)' 的这个参数会丢弃限定符