- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
首先,我将向您展示我的代码。
std::ifstream file("accounts/22816.txt");
if(file){
char *str[50];
int count=0;
str[0] = new char[50];
while(file.getline(str[count], 50)){
count++;
str[count] = new char[50];
}
for(int i=0;i<count;i++){
std::cout << str[i] << std::endl;
}
delete[] str; // Here is the problem
}
前面代码的行为是:
以及这个原因
问题
。测试我的应用程序时总是给我运行时错误消息 _block_type_is_valid(phead- nblockuse).
我知道这个问题是因为 delete[] str;
最佳答案
str
是一个指针数组,每个指针都指向一个动态分配的数组。
您需要遍历它并对每个元素调用 delete []
。
for(int i=0; i < count; ++i){
delete [] str[i];
}
注意:我已经为 OP 提供了 an example using std::vector
, std::string
and std::getline
.
关于c++ - 运行时错误 : _block_type_is_valid(phead- nblockuse),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17916434/
在 C++ 中的以下代码: class Foo { vector otherFoos; }; int _tmain(int argc, _TCHAR* argv[]) { Foo* dat
我有一个代码,我需要在其中分配一个指向指针数组的指针,但是当我想安全地删除它时,调试器给我错误。 我知道我不应该使用指针的指针数组,而应该使用 vector 类,但我不得不这样做。我有两个类(clas
我正在尝试释放动态内存,但出现错误。我需要一些帮助来指出我的代码的哪一部分导致了错误。 我有析构函数来释放两个动态数组。删除析构函数我没有错误。 错误:_BLOCK_TYPE_IS_VALID(pHE
免责声明:这是一项家庭作业。我们必须创建一个使用类对象来保存数字的计算器。我们有一个名为 Element 的类,它进入数据库并包含一个名为 Container 的类,该类存储数字数据。 我在这段代码中
当我在 Debug模式下构建可视化 C++ 项目时,只需两行代码 TEnviron * fk = new TEnviron(); delete fk; 它从 _CrtIsValidHeapPointe
这个问题不太可能帮助任何 future 的访问者;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,这些情况并不普遍适用于互联网的全局受众。为了帮助使这个问题更广泛地适用,visit
我在这里查看了类似的问题,但仍然无法意识到我做错了什么。请帮忙。 我需要为大小有限的字符串类制作模板(就像在 Pascal 中一样)代码如下:http://pastebin.com/syZf3yM8
首先,我将向您展示我的代码。 std::ifstream file("accounts/22816.txt"); if(file){ char *str[50]; int count=0;
我有一个错误“_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)”,我不知道该怎么办.. person.h #ifndef _person_H #define _person
这个问题在这里已经有了答案: What is The Rule of Three? (8 个答案) 关闭 8 年前。 我知道这是一个常见错误,所以我尝试创建一个最小示例。我认为这是因为我试图释放堆栈
我在下面代码的最后一行遇到错误“_BLOCK_TYPE_IS_VALID(pHead->nBlockUse)”: pixelCoorindateAndThreePoint* tempSpace = n
这个问题在这里已经有了答案: What is the behavior of "delete" with stack objects? [duplicate] (1 个回答) 关闭 6 年前。 我是
class A { public: void doSomething() {} } boost::unordered_map> m; m.insert(0, new A()); m.inser
我正在尝试修复一个非常严重的内存泄漏,但不知何故我无法在不触发此断言的情况下删除对象。 我已通过 Google 搜索了解决方案,并已阅读有关此错误的 Stackoverflow 上的问题,但我仍然无法
我一直在从事一个新项目,但遇到了一个我不知道为什么会失败的问题。 当我执行此行删除 textY 时,给我错误 _Block_Type_Is_Valid (pHead->nBlockUse)。那我做错了
我想弄清楚为什么我的程序在运行时会失败。到目前为止,当我运行我的程序时,它对我失败了。我调试了错误,它把我带到了 dbgdel.cpp。第 32 行“_ASSERTE(_BLOCK_TYPE_IS_V
我正在编写一个类似于电影信息系统的程序。我是 C++ 的初学者。 每次编译后我都会收到此错误警报消息。我确信在 detructor 调用时它会出错。 我阅读了很多与此错误相关的帖子。但我还是忍不住。我
我不知道为什么我总是收到 _Block_Type_Is_Valid (pHead->nBlockUse) 错误。我知道这通常是因为我双重删除了一些东西但我只在代码中使用了一次删除。以下是代码。 Box
我已经在这段代码上工作了一段时间,试图用测试床 main 测试我的 Company 类。我得到了我想要的所有结果,但是在完成主要功能后程序崩溃了 this message:(我很抱歉,但我是新来的,我
我知道有几篇关于此错误的帖子,但它们都是针对特定情况的。我正在制作一个文件拆分/连接器,它具有以下要求:-用户必须输入文件名/输入路径和输出文件夹。我用将原始文件拆分为 N 部分(用户必须输入)的基本
我是一名优秀的程序员,十分优秀!