C++重载new,delete
来源:百度知道 编辑:UC知道 时间:2024/05/28 23:09:23
#include <iostream>
using namespace std;
class A
{
public:
A(){}
static void* operator new (size_t size)
{
A *temp = ::new A();
return temp;
}
static void operator delete (void *p)
{
::delete p;
}
};
void main()
{
A *p = new () A;
delete p;
}
怎么有100多个错误啊,啥解决了?
using namespace std;
class A
{
public:
A(){}
static void* operator new (size_t size)
{
A *temp = ::new A();
return temp;
}
static void operator delete (void *p)
{
::delete p;
}
};
void main()
{
A *p = new () A;
delete p;
}
怎么有100多个错误啊,啥解决了?
main里面代码的问题:
#include <iostream>
using namespace std;
class A
{
public:
A(){}
static void* operator new (size_t size)
{
A *temp = ::new A();
return temp;
}
static void operator delete (void *p)
{
::delete p;
}
};
void main()
{
A *p = new A;
delete p;
}
void main()
{
A *p = new A; // 改一下这里就OK了
delete p;
}
A *temp = ::new A();
::这个用的不对
应该是A*temp=new A::A();