@akivi28

Почему транслятор ожидает указатель в моем коде?

В этом коде у меня появилась ошибка: Выражение должно иметь тип указателя на объект, но имеет тип "int".
void IzmerenieOsadkov(int arr[], int size1, int size2)
{
    for (int i = 0; i < size1; i++)
    {
        int sum = 0, max = 0, index = 0;
        for (int j = 0; j < size2; j++)
        {
            sum += arr[i][j]; // подчоркнута j и ошибка Выражение должно иметь тип указателя на объект, но имеет тип "int"
        }

        if (sum > max)
        {
            max = sum;
            index = i;
        }
            
    }
  • Вопрос задан
  • 517 просмотров
Пригласить эксперта
Ответы на вопрос 1
wataru
@wataru Куратор тега C++
Разработчик на С++, экс-олимпиадник.
Параметр функции int arr[],

Но далее у вас arr[i][j]. Компилятор пытается взять индекс j, но перед ним же уже число. Вот он вам и говорит "начальника, индекс я у массива (указателя) взять могу, а тут число, непонятно".

Вы обращаетесь с одномерным массивом, как будто бы он двумерный.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы