我试图创建一个节点类以供以后使用的要编码的链表类使用,但是在测试该节点时,我遇到了一个错误,“未定义对'node :: node()'的引用” 。在其他问题上,我也发现了类似的错误,但没有一个给出适用于此的答案。 这是我的main.cpp文件,
#include "node.h"
using namespace std;
int main()
{
node obj;
int j = 1000;
obj.setAnd(j);
cout << obj.getAnd();
return 0;
}
我的node.h文件,
#ifndef NODE_H
#define NODE_H
class node
{
private:
int operand;
char oper;
node *next;
public:
node();
node(int);
node(char);
int getAnd(){return operand;}
int getOr(){return oper;}
node* getNext(){return next;}
void setAnd(int a){operand=a;}
void setOr(char o){oper=o;}
void setNext(node* newNext){next=newNext;}
};
#endif // NODE_H
还有我的node.cpp文件。
#include "node.h"
node::node()
{
//ctor
/*int operand= 0;
char oper= 'a';
next = NULL;*/
}
node::node(int an)
{
operand=an;
}
node::node(char or)
{
oper=or;
}
node::~node()
{
//dtor
}
我似乎在这里看不到任何错误,所以我想知道这是否是我的编译器的运行方式。
编辑:我创建了一个新项目,并将所有文件粘贴到该新项目中并对其进行了修复。