0

我是 C++ 的新手,目前正在处理我的分配,并在尝试使用 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;

任何帮助都会很棒~

4

1 回答 1

3

当您在构造函数中分配内存时,您正在创建一个大小数组0,这实际上没有任何意义。

相反,只需使用航班向量:std::vector<Flight> fArr,然后推回它:

fArr.push_back(*Fit);
于 2013-09-20T14:14:20.147 回答