我试图创建一个指向节点的指针向量,其中每个节点存储一个指向列表中前一个节点的指针。试图创建一个指向对象内的先前对象的指针
我做了一个小测试程序,看我是否可以访问前一个对象中的变量gscore给我所调用的对象。
#include <iostream>
#include <vector>
using namespace std;
struct Node
{
Node(int gscore1)
{
gscore = gscore1;
}
Node *previous;
int gscore;
};
int main()
{
std::vector<Node*> nodeVec;
Node *tempnode;
tempnode = new Node(10);
Node *tempnode2;
tempnode = new Node(11);
nodeVec.push_back(tempnode);
nodeVec.push_back(tempnode2);
nodeVec[1]->previous = tempnode;
cout << nodeVec[1]->previous->gscore << endl;
return 0;
}
但是这会导致崩溃。什么是正确的方法来做到这一点?
在Node构造函数中,将以前初始化为0是一个好主意。 – xcramps 2011-03-30 01:09:36