读书人

_CrtIsValidHeapPointer(pUserData)异

发布时间: 2012-09-23 10:28:11 作者: rapoo

_CrtIsValidHeapPointer(pUserData)错误怎样解决
class Foo {
public:
Foo(char *name):data(name) {}
~Foo();
private:
char *data;
};
Foo::~Foo()
{
if (data != NULL)
{
delete [] data;
data = NULL;
}
}
int main()
{
Foo foo("abc");

}
运行析构函数时会报_CrtIsValidHeapPointer(pUserData)错误,求高手解决啊!

[解决办法]
删除一个静态常量,当然会出错
在构造函数里new,strcpy,而不是简单地赋值
[解决办法]

C/C++ code
#include <iostream>using namespace std;class Foo {public:    Foo(char *name)    {        data = new char[strlen(name)+1];        strcpy(data,name);    }    ~Foo();  private:    char *data;};Foo::~Foo(){    if (data != NULL)    {            delete [] data;        data = NULL;    }}int main(){    Foo foo("abc");} 

读书人网 >C++

热点推荐