-2
Я узнаю о указателях в C++, и я не уверен, что еще мне не хватает в моем коде. Я просто пытаюсь получить сумму элементов в двумерном массиве.2 Размерный массив с указателями
Вот мой код:
#include <iostream>
//function prototype
int totalRow(int *arr, int row, int col);
int main(){
int r, c;
std::cout<<"How many rows in array?: ";
std::cin>>r;
std::cout<<"How many columns in array?: ";
std::cin>>c;
std::cout<<std::endl;
int arr[r][c];
for(int i=0; i<r; i++)
{
for(int e=0; e<c; e++)
{
std::cout<<"Enter arr[ "<<i+1<<"] [ "<<e+1<<" ]"<<std::endl;
std::cin>>arr[i][e];
}
}
std::cout<<totalRow(arr,r,c)<<std::endl;
return 0;
}
int totalRow(int *arr, int row, int col)
{
int sum=0;
for(int i=0; i<row; i++)
{
for(int e=0; e<col; e++)
{
sum+=*arr[i][e]; // I get an error here saying: subscripted value is
// not an array, pointer, or vector
}
}
return sum;
}
Любая помощь? Благодарю.
Любой уважающий C++ компилятор должен был первым дал вам ошибка для строки «totalRow (arr, r, c)» в 'main()', поскольку двумерный массив не может быть преобразован в 'int *'. 'int []' может быть преобразован в 'int *', но 'int [] []' не может. –