none
HEAP CORRUPTION DETECTED错误 RRS feed

  • 问题

  • 我在native C++封装了一个类CustomClass。

    当我在MFC中通过下面的方式创建指针对象

    CustomClass* pObject = new CustomClass();

    并通过下面的方式释放该指针

    delete pObject;

    都没有问题.

    但是如果我在C++/CLI使用相同的方式来创建和释放就立即出现“HEAP CORRUPTION DETECTED”错误。即使我在new后不做任何处理就释放也依然出现该错误。

    请大家帮忙!

    2010年9月13日 9:13

答案

  • 没有问题。

    确保你的new和delete是在同一个项目中。如果你在一个DLL中new,在exe中delete可能会由于编译配置不同造成这样的问题。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年9月14日 23:42
    版主

全部回复

  • 补充一下,在我的代码里面也没有字符数组的操作。
    2010年9月13日 9:59
  • 奇怪,微软的兼容性是不是有问题啊?????????
    2010年9月14日 0:52
  • 发现新的更详细的出错信息,还请大家多指教:

    在native C++的库中的CustomClass中我定一个变量

    HCURSOR m_currentCursor;
    

    并且在构造函数中:

    m_currentCursor = NULL; //后又更新为GetCursor();
    

    当我把构造函数中的这段代码注释后,便不会出现错误。请问我这样使用有什么问题吗?

    2010年9月14日 1:50
  • 没有问题。

    确保你的new和delete是在同一个项目中。如果你在一个DLL中new,在exe中delete可能会由于编译配置不同造成这样的问题。



    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful, so they will appear differently to other users who are visiting your thread for the same problem.
    Visual C++ MVP
    2010年9月14日 23:42
    版主