_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,而不是简单地赋值
[解决办法]
#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");}