我試圖創建一個指向節點的指針向量,其中每個節點存儲一個指向列表中前一個節點的指針。試圖創建一個指向對象內的先前對象的指針
我做了一個小測試程序,看我是否可以訪問前一個對象中的變量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