我在一个类中写了一个函数,600多行,调试时竟然说堆栈溢出,调试走到这个函数就报这样的错误,
而且/*注释好像不能注释完,只有一部分显示注释了,
真是奇怪,请问,怎么会有这种事?是我的调试器的问题,还是函数长度本身就有限制?多谢

解决方案 »

  1.   

    看看你这个函数里有没有不慎没删掉的“*/”之类的东西。btw,俺的千多行的函数都不会出错,函数长度没那么小限制。
      

  2.   

    好像vc有bug最多好像是2000行吧
      

  3.   

    几千行的函数都有(上万行的没见过:),你的情况可能是在该函数中定义超大数组了(不是用new或malloc之类在堆中申请内存,而是直接 char[1024][1024]等),或者对函数递归调用次数太多了。
      

  4.   

    你的情况不是函数长度的问题,VC中类里面的函数定义没有限制,你找找其他问题( 可能如iamshuke() 所说的这样)!
      

  5.   

    我刚开始写vc代码时好像一个函数写过上万行,也没出现过你这样的问题阿, 有时你发现自己的程序在莫名其妙的时候出现堆栈溢出,一般有几种可能(我的经验而已),1 vc出问题了,盗版的确实总出问题, 2 在你不想监视任何变量或其他东西时,你的watch里面有东西, 比如对array的监视,而恰巧你调试时对array的操作是无效的,所以就
      

  6.   

    不好意思,问题我自己自己已经解决了,
    原因如iamshuke() 所说,非常感激