我对正在加载的数组有问题,我稍后会在代码中进行操作。 该数组初始化为:
int array[51][2]={{1,2},{7,4},/* ... */ }
这些点暗示了其他49个缺失的元组。 后来,当我只想使用cout我使用的数组时:
for(int k=0;k<nProducts;k++){
for(int t=1;t<=T;t++){
cout << array[k][t];
}
cout << endl;
}
不幸的是,这根本不起作用。 Visual Studio很高兴地编译程序,但是当我运行它时(ConsoleApplication)它会在此时崩溃。当我评论出&#34; cout-part&#34;它工作正常。但我怀疑数组是否应该用于代码的其余部分。
你能以某种方式帮助我吗?我在任何文献中都找不到我的错误,这似乎完全和我一样。
答案 0 :(得分:6)
改变这个:
for(int t=1;t<=T;t++)
对此:
for(int t=0;t<T;t++)
C / C ++ / Java /等中的索引。介于0和N-1之间。
答案 1 :(得分:0)
您正在访问超出范围的索引 - 该数组是从0
索引的,因此最后一个有效索引是N-1
。当您尝试访问索引N
处的元素时,会得到IndexOutOfRangeException
,这会导致程序终止。