基本上我想重复调整我的数组。接下来的函数是假设搜索数组中的下一个可用位置。一旦下一个命中10是我希望它调用重复的最大容量。如果在下一个函数中发现数组已满,基本上调用重复。如何从另一个函数调用这个void函数?
问题是,当我得到循环到10个数字,它在11日失败。在第10个元素进入后,它进入重复函数,然后进入指针,然后通过数组,然后它只是保持循环,所以当我使用我的函数来查看元素的总数仍然说10 ,这意味着maxsize
没有变化。我不懂为什么?
void ProgramOne<Type>::Next(Type & y)
{
if (!IsFull())
{
if (count < maxsize)
{
bag[count] = y;
count++;
}
}
else
{
Duplicate();
}
}
我试图把这种
void ProgramOne<Type>::Duplicate()
{
int *bagB = new int[maxsize * 2];
for (int i = 0; i < maxsize; i++)
{
bagB[i] = bag[i];
}
delete[] bag;
bag = bagB;
}
'Duplicate'似乎有一些缺失的大括号。 – jxh 2014-09-19 02:34:38
你尝试了什么,为什么它没有工作? – jxh 2014-09-19 02:36:08
我试着让一个int让我们先说f,g然后我认为这需要一个输入,并且必须在main中。然后,我尝试了(包,大小),但包是一个指针,所以不会工作。 – 2014-09-19 02:45:51