我试图解决我的程序有些问题,它似乎有要么是与我的拷贝构造函数或析构函数的问题。 我得到一个内存异常。
任何帮助将我不胜感激谢谢
ArrayStorage::ArrayStorage(const ArrayStorage &a):readArray(a.readArray),arraysize(a.arraysize)
{
readArray = new string[arraysize]; //create the array
memcpy (readArray,a.readArray,sizeof(string)*arraysize);//Copy the values of bytes from the location pointed at by the souce and destination.
}
ArrayStorage::~ArrayStorage(void)
{
delete[](readArray);//deconstuctor to delete the array.
}
这会是一个更好的方式给其他阵列复制比的memcpy:
for (int i = 0 ; i < arraysize ; i ++)
{
readArray[i] = a.readArray[i];
}