【发布时间】:2019-03-06 16:55:56
【问题描述】:
我很难理解如何解决这个错误“array1[i][j] = expression must be a pointer-to-object type。我已经搜索了错误,但我无法将解决方案应用于我的代码sn-p。
int main(){
int array1[]= {1234,4321}; //{1234,4321};
int array2[]= {2345,3214}; //{2345,3214};
int counter = 0;
int arr_element = sizeof(array1);
int arr_index = sizeof(array1)/sizeof(*array1);
for(int i = 0, count1 = arr_index; i < count1; i++ ){
for(int j = 0, count2 = 4; j < count2; j++){
cout << array1[i][j] << endl;
}
}
return 0;
}
我想做的是能够打印出array1中的元素;例如,我想要这个输出:1,2,3,4,4,3,2,1。据我了解, int a 需要是一个指针。我在数组(*array1)和int(int**)前面添加了*,但没有运气。感谢您的宝贵时间。
【问题讨论】:
-
1234是int,而不是数组。那么为什么你认为你可以像访问数组一样访问int?你真的希望int x = 3456; int y = x[2];工作并返回 3 吗? -
有很多帖子解释了如何获取整数中的单个数字,例如,stackoverflow.com/a/3118505/8033585、stackoverflow.com/q/4615046/8033585 或 stackoverflow.com/q/4207696/8033585 等等。
标签: c++ multidimensional-array element