У меня есть следующий код:
class MyNode;
class MyCompare {
public:
bool operator()(MyNode *a, MyNode *b) {
return a->q <= b->q ? true : false;
}
};
class MyNode {
public:
double sum;
double q;
StateNode *parent;
std::priority_queue<MyNode, std::vector<MyNode>, MyCompare> children;
};
Но я получил следующие ошибки компиляции:
error: member access into incomplete type 'MyNode'
return a->q <= b->q ? true : false;
^
..MyNode.h:35:7: note: forward declaration of 'MyNode'
class MyNode;
^
..MyNode.h:39:46: error: unused parameter 'b' [-Werror,-Wunused-parameter]
bool operator()(MyNode *a, MyNode *b) {
Есть идеи, что я здесь не так сделал?Спасибо!