【发布时间】:2013-06-16 13:01:58
【问题描述】:
我正在尝试实现一个函数,它可以将任何数据类型的动态数组的大小增加一,让数组保留所有现有数据。
我想这样做是因为我们经常需要在课堂上的实际项目中使用动态数组并调整其大小,所以尽管我愿意,但我不能使用向量。
我首先想知道这是否可以做到,如果可以,是否有人可以告诉我如何做。
这是我目前所拥有的。
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;
}
第一次调用该函数时可以正常工作,但随后会出现访问冲突。
【问题讨论】:
标签: c++ arrays function dynamic