用MFC基本对话框类,有意思的是当我在类中声明了一个新的int型的成员变量,然后在成员函数中使用它,程序编译通过,运行也没问题,但是当我退出程序的时候就出现XP错误对话框(提示我发送错误报告那种),
而且就算我把它删掉还原,还是一样出错。
之前我已经在类中声明使用了很多变量,难道已经饱和了??不懂!!刚把它定义为全局变量又没这种问题。真的是好奇怪啊,虽然不影响程序运行但是总觉得不舒服。

解决方案 »

  1.   

    rebuild all 当可以解决问题。
      

  2.   

    如果这个问题仅仅出现在Release版本中,建议打开ResourceID窗口,删除未使用资源id,(注意此处非保留id)然后Rebuild all,必定会出现error,注释掉error对应的行,然后即可。
      

  3.   

    楼上的,我没有使用引用和指针,只是定义了一个普通的int而已,再楼上的,DEBUG版也一样,rebulid all也不行,总之就是不能继续定义成员变量了,全局变量可以,而且是不可以恢复的错误,还好我之前做了备份,不然就惨了!
      

  4.   

    唉,我怎么什么问题都没有遇到过,一直很顺利的过来的?
    如果不是resourceid的问题,显然你没有通过classwizard添加
    因为你根本不知道手工添加一个控件变量需要改动几处地方,
    而不是单纯的添加一个变量,拜托你看看书行不?如果不通过基础学习,来到csdn也没有多大收获,反而是浪费时间的。
      

  5.   

    楼上的我是菜鸟,而且也没您那么聪明。我只是在类中定义了一个整型的成员变量而已,并没有定义控件变量,我再怎么没基础最少能分清楚控件变量和类成员变量之间的区别。我的程序里都是直接用控件ID来操作的,并没有定义任何的控件变量。而且我就算不用classwizard也知道应该在哪里纯手工定义控件变量。
    怎么好象是你在答非所问浪费大家时间。
    对了,如果您还有时间请告诉我怎么用classwizard添加一个和控件无关的一般整型变量。怎么我看到的都是和控件关联的?果然还是我基础不行!!!
      

  6.   

    如果ReBuild All不行的话,也许是VC6的Bug,这个问题比较复杂,我对这个问题比较感兴趣,你可以发一份代码到我邮箱:[email protected]。或者从QQ上面传给我:361577203
      

  7.   

    怎么说呢,也许你那个变量定义是绝对没什么问题的,但你触发了一个隐形的问题,刚好比如地址和那个变量一样,或者那里的值和某某冲突,都有可能,所以有时候,检查不要光局限于表面,看看其它地方有没有错误!    而且你试试release版本看看,会不会报错!
    当然最后才考虑,是不是vc6的原因,你可以用vs.net 2003编译一下啊,那个更严格,也许你某些危险的做法,它就会报错了!
      

  8.   

    设置一下WINXP-》 系统属性-》高级——》启动和故障恢复-》设置。把调试错误去掉
      

  9.   

    “zephyr518(默曲子) ”这个不是个好的解决办法----回避问题,我觉得“ncucf(ncu晨风) ”有道理,是在无法解决[Clean---ReBuild All]的情况下,将工程导入vs.net中去调试一下,应为vc7.1编译器要求的更为“苛刻”
      

  10.   

    我在debug版有这个问题,但release版就没问题.应该是一个断言引起的.在我这里是_CrtIsValidHeapPointer(pUserData);不知道你那里是什么样子.
      

  11.   

    ncucf(ncu晨风)有道理,我也遇到过类似问题
    确实比较怪异,呵呵
    因为恢复原代码还是错
      

  12.   

    安装boundschecker,运行debug,应该可以看到隐藏的危险和错误的地方。
      

  13.   

    退出时出错,一般最可能出现的地方是在不该使用free的地方使用了free,在没有完全退出的情况下释放窗体或运行了destorywindow所致
      

  14.   

    我也遇到过
    rebuild all就可以了