C++ 将地址分配给结构内部的指针

C++ 将地址分配给结构内部的指针,c++,pointers,vector,struct,C++,Pointers,Vector,Struct,我正在尝试实现一个路径查找算法。 所以我有一个二维数组,里面有结构,我想按照 跟踪从一个位置到另一个位置的最佳意见。因此,我尝试使用结构(简单的数据处理)和指向其他结构的指针 原则上是这样的 struct location{ int x; int y; location* parent; }; int main(){ map_inf current; vector<map_inf> allData; someData = getData(

我正在尝试实现一个路径查找算法。 所以我有一个二维数组,里面有结构,我想按照 跟踪从一个位置到另一个位置的最佳意见。因此,我尝试使用结构(简单的数据处理)和指向其他结构的指针

原则上是这样的

struct location{
   int x;
   int y;
   location* parent;
};    

int main(){
   map_inf current;
   vector<map_inf> allData;
   someData = getData();    // returns vector of structs
   current = someData[0];      

   while(current.x != 15 && current.y != 30){
       for(int i = 1; i < someData.size(); i++){
            someData[i].parent = &current;
            allData.push_back(someData[i]);
       }
       someData = getData(); // get new data
       current = someData[0];
   }
  for(int i=0; i<allData.size(); i++){
     ///////////////////////////////////////
     // ALL PARENT POINTERS ARE EQUAL. WHY ?
     ///////////////////////////////////////
  }
}
结构位置{
int x;
int-y;
地点*父母;
};    
int main(){
map\u inf电流;
矢量数据;
someData=getData();//返回结构的向量
当前=某些数据[0];
while(current.x!=15&¤t.y!=30){
for(int i=1;ifor(int i=0;i您应该在for循环或for循环结束后增加/更新当前指针。您刚刚在for循环结束时使用了current=someData[0];这意味着current将包含由someData[0]指向的相同指针

所有指针都是相等的,因为它们都指向对象
当前
。可能您并不真的想要一个指针。这有点不清楚。
¤t
始终是相同的地址,因为它是相同变量的地址。您希望它会有所不同吗?