访问冲突读取位置0xcccccd84

时间:2013-09-20 14:10:35

标签: c++ visual-studio-2010 runtime-error

我是新手,当前正在完成我的任务,并且在尝试使用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;

任何帮助都会很棒〜

1 个答案:

答案 0 :(得分:3)

当你在构造函数中分配内存时,你正在创建一个0大小的数组,这实际上没有用。

相反,只需使用航班矢量:std::vector<Flight> fArr,然后再推送到它:

fArr.push_back(*Fit);