Invalid types 'int[int]' for array subscript - multi-dimensional array
本问题已经有最佳答案,请猛点这里访问。
我收到一个"数组下标错误的无效类型"int[int]。我也搜索了同样的内容,但之前问过Q的相关对象。这是一个简单的片段。
01 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | #include<iostream> #include<cmath> using namespace std; int main() { int *a; a = new int a[10][10]; //Line 8 for(int z=0;z<10;z++) { for(int y=0;y<10;y++) { a[z][y]=y; // Line 13 cout <<"\t"<<a[z][y]<<endl; // Line 14 } } return 0; } |
Error
第8行错误:应在"a"之前输入";"
第13行错误:数组下标的类型"int[int]"无效
首先,你有一个外来的
你的意思是只写
第二,固定表达式没有
1 2 3 4 5 6 7 8 | int** a; a = new int*[10]; for (int i = 0; i < 10; ++i) { a[i] = new int[10]; for (int j = 0; j < 10; ++j) { a[i][j] = j; } } |
第三,更喜欢使用
你有错别字:
1 2 | a = new int a[10][10]; //Line 8 ^ ~~~~ ! |
删除这个
另外,您分配数组的方式是错误的,它应该是:
1 2 3 4 | int **a; a = new int *[10]; //Line 8 for(int i = 0; i < 10; ++i) a[i] = new int[10]; |