我建了一个基于对话框的工程,给它加了10多个protected成员变量,好几个public变量,
突然发现只要再加一个protected变量就运行错误,编译正确,把它去掉又恢复正常,把它加入public里面也正常,而且该变量不论是int,char都如此,不知道这是什么原因,请高手赐教,谢谢!!

解决方案 »

  1.   

    或许是bug也不一定,我用的是从网上免费下的vc6企业版,只是不敢肯定。
      

  2.   

    你可以试试看把当前的Debug全部删除,然后再次Rebuild All
    应该可以消除这个问题。
      

  3.   

    例如下面这种情况
    某个结构定义为struct aStruct{    int a;
        int b;
        ... 
        int n;
        char * p;
     };假如有个变量aStruct aobj被其他内存访问越界了,破坏了13个字节
    这样,如果p前面的变量字节总和大于13,则往往不会出现异常(因为int值怎么取都不会异常)
    但是假如小于13字节,则aobj.p被破坏,一旦这样访问
    (*aobj.p) = 'a';
    程序就崩这难道说明aStruct不能定义太少变量?
      

  4.   

    Rebuild All,重新编译一下。
      

  5.   

    绝对不会,你那点变量也算多?vc6有点bug,你把除.dsp,.h,.cpp以外的文件全删了,再运行.dsp重新编译一下。