删除动态数组c++时出错
Error when deleting dynamic array c++
当我的程序遇到这段代码时,我得到了一个运行时错误。我确信是删除造成的,我只是不知道出了什么问题。
以下是函数:(FavShows是前面定义的类)
void classInit()
{
int numOfRecs;
cout << "How many records will you enter?" << endl;
cin >> numOfRecs;
FavShows *m = new FavShows[numOfRecs];
for( int i = 0; i < numOfRecs; i++)
{
m[i].initRec();
}
for( int i = 0; i < numOfRecs; i++)
{
m[i].printRec();
}
delete m;
}
我收到的错误状态为:错误在dbgdel.cpp中(我认为这是一个libs的memeber)表达式:_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)
只需使用std::vector
,即可避免疼痛。
对于给定的代码,请注意new[]
需要delete[]
,而不是简单的单个对象delete
。
使用std::vector
,只计数用户输入的记录要容易得多,而不用预先询问有多少。对于输入的每个记录,使用push_back
将其添加到矢量的末尾。然后从一个空向量开始。
相关文章:
- 访问者访问变体并返回不同类型时出错
- 在Linux for Windows上编译C++代码时出错
- 读取文件的最后一行并输入到链接列表时出错
- 重载操作程序时出错>>用于类中的字符串 memebr
- 调用专用模板时出错"no matching function for call to [...]"
- C++-试图将函数指针推回到另一个CPP文件中的矢量时出错
- LINK 尝试使用 OpenSSL evp aes 256 c++ 时出错
- 在Google Kick start中提交时出错
- 在c++中访问int到类对象的映射时出错
- 分段错误当我试图运行程序时出错
- 使用dynamic_cast和构造函数时出错
- CHECK(调用)函数在Google Colab中出错
- 用pybind11包装C++抽象类时出错
- 为x86而非x64编译时出错
- 从R调用C++函数并对其进行集成时出错
- 这个函数哪里出错了
- C++ 创建包含链表和字符串的对象的链接列表时出错
- 为重写std::exception的库生成swig接口时出错
- 导入/导出变量时出错
- PrintWindow函数在notepad.exe中出错