这样的例子可以产生这样的情况:
  CHAR *P =NEW CHAR[1];
  P[0]=0;
  P[1]=0;
  DELETE P;
  指正越界.

解决方案 »

  1.   

    好象MFC发生内存泄露的话是“Detected memory leaks!”这句话,而不是“memory check error ”这句话。
      

  2.   

    也许什么地方重载了new 和delete自己用outputdebnugstring写的东西吧,看起来是内存越界的信息:)
      

  3.   

    我的建议是
    你检查一下所有需要初始化的参数是否都初始化了,而且对于系统默认的参数,你要保证他们满足在你默认的参数之后没有你赋的值,不然会出错
    你用debug就行了不是有一个进入的选择吗,可以进入的。让dll无效,让主程序找不到他就好了。那里是关键就掐断那里嘛
      

  4.   

    内存泄漏,而且估计是dll里的
      

  5.   

    我的.h文件声明如下:
    class A
    {
        int m_a;
    #define IS_DLL
        char *m_p;
    #endif
    }
    在DLL的workshop中定义了IS_DLL,在测试对话框程序中没有定义IS_DLL,这样才出现这个错误,请问这个错误对程序影响多大?