我是 C++ 新手,非常感谢您对以下问题的帮助:
我通过以下方式为 N 行和两列的 2d int 数组动态分配了空间:
int **input;
input = new int *[N];
for (int count = 0; count < N; count++)
input[count] = new int[2];
当我在我“填充”数组的while循环中打印其内容时,实际内容被打印:
while (!myfileafter.eof())
{
int temp1,temp2;
int i=0;
int j=0;
myfileafter >> temp1>>temp2;
input[i][j]=temp1;
input [i][j+1] = temp2;
i++;
j=0;
cout<<input[i-1][j]<<" "<<input[i-1][j+1]<<endl;
}
// for (int p=0;p<N;p++)
// cout<<input[p][0]<<" "<<input[p][1]<<endl;
但是,如果我在 while 循环之后使用两个注释掉的行,则数组似乎包含与之前打印的正确内容完全不同的内容,这是程序其余部分出现许多问题的原因。知道如何解决吗?