我试图从文本文件中读取4个浮动变量,然后将它们放入函数中。
void Array::readFile()
{
ifstream myfile1("numbers.txt");
if (!myfile1.is_open()) {
cout << "The file could not be opened";
}
else {
while (myfile1.good())
{
double a, b, c, d;
myfile1 >> a >> b >> c >> d;
//addMethod(a, b, c, d));
}
}
}
文本文件数据的例子:
-0.143562 0.187022 0.130935 0.001797
我遇到的问题是我的调试断言失败了!行后出错:
else {
错误:表达式:_BLOCK_TYPE_IS_VALID(pHEAD-&gt; nBlockUse)
现在我甚至无法测试while循环中的代码,因为它在此之前就已经破了。我对c ++很新,所以没有遇到过这类错误。我的文本文件位于带有exe文件的debug文件夹中。
以下是一些要点:Array.cpp:https://gist.github.com/anonymous/f9a9942bced0096613bf Array.h:https://gist.github.com/anonymous/ce68c4fe949413487697 来源/主要:https://gist.github.com/anonymous/7545c4598196501a69d8
答案 0 :(得分:0)
Array
的析构函数执行此操作:
delete this->sphereArray;
但构造函数(或其他任何地方)没有任何内容可以初始化它。
此外,Array::sphereArray
的定义如下:
sphere *sphereArray[sizeof(sphere)];
你不能delete
那个。也许你想要浏览那个数组的元素并删除它们。但它们都是未初始化的。此外,我非常强烈地怀疑这条线不会像你想象的那样做。声明一个指针数组是非常不寻常的,这些指针数组是它们指向的类型的长度。