struct node
{
int p, check;
node(int _p = 0, int _check = 0): p(_p), check(_check) {}
bool operator <(const node& a)
{
if (check != a.check)
return check > a.check;
return p > a.p;
}
};
priority_queue<node> q;
报错信息:required from 'bool __gnu_cxx::__ops::_Iter_comp_val<_Compare>::operator()(_Iterator, _Value&) [with _Iterator = __gnu_cxx::__normal_iterator<node*, std::vector<node, std::allocator<node> > >; _Value = node; _Compare = std::less<node>]'
还有[Error] passing 'const node' as 'this' argument of 'bool node::operator<(const node&)' discards qualifiers [-fpermissive]
我服了C++编译器,已经定义了bool operator <
她还说没有定义。
自己想了半天没有想出来,急!:(