我正在尝试实现一个函数,该函数可以将任何数据类型的动态数组的大小增加一,让数组保留所有现有数据。
我想这样做,因为我们经常需要在课堂上的实际项目中使用和调整动态数组的大小,所以尽管我想,我不能使用向量。
我首先想知道这是否可以做到,如果可以,是否有人可以告诉我如何做。
这就是我到目前为止所拥有的。
template <typename Temp>
void incArraySize(Temp * dynamicArray, int i_Elements)
{
Temp * dummyArr = new Temp [i_Elements];
for (int l = 0; l < i_Elements; l++)
dummyArr[l] = dynamicArray[l];
delete [] dynamicArray;
dynamicArray = new Temp [i_Elements+1];
for (int l = 0; l < i_Elements; l++)
dynamicArray[l] = dummyArr[l];
delete [] dummyArr;
}
这在第一次调用该函数时工作正常,但随后出现访问冲突。