BUG图片就不贴了,忘截了,重现一下工作量有点大(懒)…
进入子函数时报这个错一般都是正常爆栈,不多说了。
我这回很神奇的程序刚开始就报这个错,我排查了一下,按照stack overflow的思路去找错误的话,就剩我自己定义的类中、有一个定义为char fileName[100][100][100]的成员变量有可能爆(老师给的文档里明确让这样定义…)。尝试改成从堆中动态申请空间以后,就OK了。
所以猜测:函数中定义一个类的实例时,类中定义的静态内存分配的成员变量,都会占用这个函数的栈空间。
20201222
今天看见这篇贴,被自己蠢笑了…函数里定义的变量肯定是从子函数的栈上分配空间啊!
本文分享了一个关于程序开始即出现爆栈错误的经历。作者通过修改一个三维字符数组成员变量的存储方式,从静态改为动态分配,成功解决了问题。文章强调了函数局部变量占用栈空间的重要性。
3万+

被折叠的 条评论
为什么被折叠?



