【发布时间】:2015-12-03 16:46:10
【问题描述】:
我在另一个 struct(B) 上有一个 struct(A) 和 Priority Queue(PQ)。
这是下面的结构A:
struct Node{
int level;
int total;
std::vector<int> sequence;
void clear(){
sequence.clear();
}
void init(){
level = 0;
total = 0;
sequence.clear();
}
long subjectNumber(){
return sequence.size();
}
bool isInSequence(int index){
for(int i = 0; i < sequence.size(); i++){
if(index == sequence.at(i)){
return true;
}
}
return false;
}};
没什么特别的吧?
我使用节点对象的优先级队列,如下所示:
std::priority_queue<Node> pq;
但是当我运行项目时出现错误:
二进制表达式的无效操作数('const Node' 和 'const Node')
我想把Node对象的总价值放在首位 我该如何解决这个问题?
UPDATED:
The picture is what I'm getting, at the project, there is no 'red'Line for me!
【问题讨论】:
-
我发现我必须重写方法运算符方法...但是我应该何时以及如何做到这一点?
-
代码中的问题,这里没有展示。
-
您在运行项目时不可能收到此错误。您必须在编译项目时收到它。
-
请告诉我们导致问题的代码,否则我们只能猜测。
-
您没有比较器。 operatorthis
标签: c++ priority-queue invalidoperationexception