c++ - 访问冲突读取位置 0xcccccd84

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

我是 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;

任何帮助都会很棒~

最佳答案

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

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

fArr.push_back(*Fit);

关于c++ - 访问冲突读取位置 0xcccccd84,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18918854/

相关文章:

c++ - 如何在不使用C++函数的情况下显示链表中的元素?

c++ - 从 Vowpal Wabbit 中的内存读取数据?

visual-studio-2010 - Visual Studio 代码中点的快捷方式?

swift - HackerEarth 的倒霉 13 人挑战赛

python - 有没有办法在运行Python时出错后访问变量

c++ - 围绕成员函数的 C++ lambda 包装器如何在析构函数之后工作?

c++ - 更改为 C++ 时卡在 while 循环中

c++ - 在函数 C++ 中使用字符串数组

c++ - 如何在 Visual Studio 2010 中构建这个简单的 C++/SWIG/C# 项目?

java - 将 EditText 中的字符串解析为 double 会导致运行时错误