创建了2个数组:
- 一组 Card 类对象 - 带有数字的表格。
- 该数组的主数,在本例中为 2 的幂。
应该生成4个值。适用于对象,但不适用于数字。
编码:
int* AllNumList;
int Cmin=0, Cmax=0;
void Game()
{
bool end = 0;
int numOfIterations = 0;
int maxNum = 1;
while (maxNum <= Cmax)
{
numOfIterations++;
maxNum = pow(2, numOfIterations);
}
numOfIterations--;
maxNum = pow(2, numOfIterations);
Card* card = new Card [numOfIterations +1];
AllNumList = new int [numOfIterations+1];
for (int i = 0; i <= numOfIterations;i++)
{
AllNumList[i] = pow(2, i);
card[i].AddGenNumber(pow(2, i));
}
}
第一次循环迭代:
最后一次迭代:


调试器欺骗了你。事实是,
AllNumList从类型系统的角度来看,这不是一个数组,而是一个指针。并且指针没有说明它指向多少个元素。通常指针指向一个元素 - 调试器向您显示它。尝试在调试器中显式查看
AllNumList[1],AllNumList[2]并且AllNumList[3]- 在那里您会找到所有丢失的数字。