程序类型:C++
纯粹mark一下自己犯过的错误。
写程序的时候,出现chkstk.asm堆栈溢出,提示stack overflow。
生成成功,开始执行不调试时会直接显示已经停止工作,断点调试会出现错误提示,要求中断,跳转到chkstk.asm文件第99行。
上网查找,大概是栈溢出的问题,在程序里面使用了一个float a[100000][2000]的数组,太大了,所以会有栈溢出的问题。
解决方案,一个是在设置里面增大堆栈空间,一个是使用new来新建。
尝试的是第二种也就是使用new,然后成功了。
解决方案:
#include <iostream>
using namespace std;
int main()
{
int i,j;//用于输入当然循环变量
float **a;//指针
a=new float *[100000];
for (i=0;i<100000;i++)
{
a[i]=new float *[2000];
}
//......之后就是输入什么的了
delete[]a;
}
里面比较需要注意的是不要溢出,我后来因为new的比用的要少,导致在后面调试的时候出现std::bad_alloc错误,之后把用到的和new的数目对上了就可以了。