-1
問題是,我沒有得到預期的輸出。我有一個Node的類,它具有稱爲neigbours的指針向量。我想把對象neigbour放入向量中。向量指針添加和訪問
Node current = Node(1, 1, street , 2, 2);
Node neighbour = Node(2, 2);
neighbour.instreets.push_back(Street(1, 1, street, 2, 2));
nodes.push_back(neighbour);
current.neighours.push_back(&nodes.at(0));
nodes.push_back(current);
然後我想訪問它打印出來。
cout << nodes[1].x << " " << nodes[1].y << endl;
cout << "- " << nodes[0].outstreets[0].name << endl;
cout << "ends " << nodes[1].neighours.at(0)->x << " " << nodes[1].neighours[0]->y << endl;
但我得到一些隨機數,而不是爲鄰居協調。我是否以錯誤的方式訪問它們?
期望輸出是
1 1
- street
ends 2 2
編輯: 節點是節點對象的矢量。
所以我不正確地添加鄰居到矢量? –
問題是你正在使用一個指針指向vector''節點擁有的內存。請參閱編輯答案以瞭解如何解決此問題。 – rburny
非常感謝。這效果更好。 –