我尝试交换 2 个具有不同容量的动态分配数组。我尝试使用:
int *temp = arr1;
int arr1 = arr2;
int arr2 = temp;
但是,这种方法不起作用。所以我尝试不同的方法:
ItemType *temparr1 = new ItemType[other.capacity];
std::copy(setMember, setMember+capacity, temparr1);
ItemType *temparr2 = new ItemType[this->capacity];
std::copy(setMember, setMember+capacity, temparr2);
delete [] this->setMember;
delete [] other.setMember;
other.setMember = temparr1;
this->setMember = temparr2;
不幸的是,这种方法会抛出错误消息:“Windows 在 Hw1.exe 中触发了断点。
这可能是由于堆损坏,这表明 Hw1.exe 或其已加载的任何 DLL 中存在错误。”
知道如何交换动态分配的数组吗?谢谢