自定义类使用delete[]时候出错
有一个问题,关于delete运算符的调用,先看一个类的定义
class Int
{
public:
Int(){};
Int(Int& value){}
Int(int value){}
~Int(){};
};
这是我自己定义的一个类,中间先不实现任何的东西。
//Demo 3.
Int* pInt = new Int(10);
//delete[] pInt; //带[]的使用delete会出bug
delete pInt;
int* pi = new int(10);
delete[] pi; //这个就不会出bug
我使用的开发工具是VS2010,请教下,为什么我自定义的类就出现不可以使用delete[]来释放内存空间?而内置的类型就可以(在定义的不是数组的基础上调用delete[],如果是定义的Int* pArr = new Int[10], 调用delete[] pArr是没有错误的)
请问我自定义的类应该添加一些什么处理,就可以使
Int* pInt = new Int(10);
delete[] pInt; //带[]的使用delete会出bug
不会出错?