我正在编写一个程序来查找连接节点图中的路径。我有一个方法,从文本文件的信息创建图表。在这个方法中,我将开始和结束节点指针分配给它们各自的节点。我的getNodeName
函数在此函数中适用于所有节点/节点指针。但是,在我调用此函数后,在main()
我使用startNode
测试startNode->getNodeName()
时会导致seg错误。在我的createGraph
方法中,我可以尝试同样的cout
,它可以完美运行。调用startNode
后createGraph
是否存在保存的原因?或者是一个不同的错误?
这是我的Node
类,带有构造函数
class Node {
public:
Node(string newname);
Node();
void setNodeName(string newname);
string getNodeName();
void attachNewNode(Node *newNode, int direction);
Node* getAttachedNode(int direction);
bool isVisited();
void attachNullNode(int direction);
bool visited;
string prevNode;
void setVisited(bool temp);
private:
string name;
Node* attachedNodes[4];
};
Node::Node(string newname) {
name = newname;
visited = false;
}
Node::Node() {
name = "";
visited = false;
}