我是新手,当前正在完成我的任务,并且在尝试使用for循环将迭代器指针分配到数组时会遇到此运行时错误“访问冲突读取位置”。
Flist = data.getFList();
for(Fit = Flist.begin(); Fit != Flist.end(); Fit++)
{
++counter;
cout << "(" << counter << ") Destination: " << Fit->getDest() << " [Class: " ><< Fit->getClass() << "]" << endl;
_getch();
fArr[counter] = *Fit;
}
Staff::Staff()
{
counter = 0;
fArr = new Flight[counter];
};
Flight *fArr;
int counter;
任何帮助都会很棒〜
答案 0 :(得分:3)
当你在构造函数中分配内存时,你正在创建一个0
大小的数组,这实际上没有用。
相反,只需使用航班矢量:std::vector<Flight> fArr
,然后再推送到它:
fArr.push_back(*Fit);