ОПП (выдаёт ошибку invalid types int int ' for array subscript)

Модератор: Модераторы разделов

Lera
Сообщения: 1
ОС: windows 8

ОПП

Сообщение Lera »

invalid types int int ' for array subscript
воот такая ошибка в 20 строке! что не так? подскажите! я новичок, желательно объяснение как для чайника! C++

Код: Выделить всё

#include "Skola.h"
#include <iostream>
using namespace std;


Skola::Skola (int mas[12])
{
    for (int i=0; i<12; i++)
        mas[i]=0;

}
Skola::~Skola()
{
   cout<<"objekts ir likvidets"<<endl;
}

void Skola::mainit (int i, int s) //i-klases numurs, s-jaunajs skolenu skaits
{
    for (int i=0; i<12; i++)
        mas[i][2]=s;

        cout<<s<<endl;
}
void Skola::drukat ()
{
    for (int i=0; i<12; i++)
        cout<<mas[i]<<"  "<<s[i]<<endl;
    sum=0;
    fot (int i=0; i<12; i++)
    {
        cin>>mas[i];
        sum+=mas[i];
    }

    cout<<mas[12]<<s<<sum<<endl;
}


void Skola::aprekins()
{
    sum=0;
    fot (int i=0; i<12; i++)
    {
        cin>>mas[i];
        sum+=mas[i];
    }
    double vid;
    cout.precision(2);
    vid=sum/12;

  {
      max=mas[0];
      for (int i=0; i<12; i++)
        if (mas[i]>max) max=mas[i];
  }
  {
      min=mas[0];
       for (int i=0; i<12; i++)
        if (mas[i]<min) min=mas[i];
  }

}
Спасибо сказали:
Kopilov
Сообщения: 953
ОС: [K]Ubuntu, Debian

Re: ОПП

Сообщение Kopilov »

mas -- вероятно, поле класса Skola из файла Skola.h, который Вы решили не показывать. Почему почти везде оно используется, как одномерный массив, а в 20 строке -- как двухмерный?
Ещё, там int i выступает и как локальная переменная, и как формальный параметр -- должно вызвать ошибку.
А ещё в двух местах далее вместо for написано fot.

И в следующий раз оформляйте код тегами [code], пожалуйста. А вообще, таким вопросам место на форуме программистов (тут немного другая тематика).
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: ОПП

Сообщение drBatty »

Lera писал(а):
11.12.2013 00:30

Код: Выделить всё

mas[i]=0;

Lera писал(а):
11.12.2013 00:30

Код: Выделить всё

int s
mas[i][2]=s;

здесь ошибка: в первой цитате вы присвоили целое число некоему mas[i], а во второй -- присвоили целое число уже mas[i][2]. Т.е. преобразовали левостороннее mas[i] в указатель на целое число.

В следующий раз приводите пожалуйста ВЕСЬ код, а не отрывки. Телепаты в отпуске!

И используйте пожалуйста http://pastebin.com/ а то я не в курсе, где У ВАС двадцатая строка. Т.к. вы обрывки кинули.

Kopilov писал(а):
11.12.2013 01:32
А вообще, таким вопросам место на форуме программистов (тут немного другая тематика).

ИМХО нет. Форумы программистов оккупированы сторонниками сами знаете какого программирования. Да, всякие C# и прочая гадость.
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали:
NickLion
Сообщения: 3408
Статус: аватар-невидимка
ОС: openSUSE Tumbleweed x86_64

Re: ОПП

Сообщение NickLion »

А инициализация данных по указателю в конструкторе никого не смутила?

drBatty, возможно, Kopilov имел в виду, что на данном форуме есть подфорум: Программирование для начинающих
Спасибо сказали:
Аватара пользователя
drBatty
Сообщения: 8735
Статус: GPG ID: 4DFBD1D6 дом горит, козёл не видит...
ОС: Slackware-current

Re: ОПП

Сообщение drBatty »

NickLion писал(а):
11.12.2013 12:27
А инициализация данных по указателю в конструкторе никого не смутила?

если честно, то после сабжа удивляться нечему.

В любом случае, нужен весь код, что-бы помочь ТСу.
NickLion писал(а):
11.12.2013 12:27
на данном форуме есть подфорум

а... Да, я думал мы уже здесь..
http://emulek.blogspot.ru/ Windows Must Die
Учебник по sed зеркало в github

Скоро придёт
Осень
Спасибо сказали: