基本上我想重複調整我的數組。接下來的函數是假設搜索數組中的下一個可用位置。一旦下一個命中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