原因:
由于系统分配给一个进程的栈空间是一定的,当一个.cpp文件中的栈空间大于系统为该进程所分配的栈空间时,就会报栈溢出错误。
解决方法:
方法一:动态分配内存
不要静态分配内存,用new或malloc来动态创建,从堆中分配内存,因为堆的空间足够大。但是要记得使用free或delete手动释放内存,否则会造成内存泄漏。
方法二:修改Visual Stdio Stack 默认设置
操作步骤:【项目】->【属性】->【链接器】->【系统】->【堆栈保留大小】/【堆栈提交大小】
关于堆栈保留大小和堆栈提交大小的缺省值为:
所以将这两个选项的值改大一点即可。
然后点击应用,确定,就可以了。