Форум программистов, компьютерный форум CyberForum.ru

no operator ">>" matches these operands - C++

Восстановить пароль Регистрация
 
PEVELASKA
3 / 3 / 0
Регистрация: 20.09.2012
Сообщений: 57
19.03.2013, 20:11     no operator ">>" matches these operands #1
Есть код с структурой. Всё неплохо идет, вроде, но когда пытаюсь ввести массив из 5 оценок здесь :
C++
1
2
3
4
5
6
7
8
Student * Amark = new Student [iSize];
    for (int i = 0; i < a; i++) 
    {   
        for ( int j = 0; j < iSize; j++)
            cin>>Amark[j].iMark;
            
    
    }
пишет : "no operator ">>" matches these operands" и "Ошибка 1 error C2678: бинарный ">>": не найден оператор, принимающий левый операнд типа "std::istream" (или приемлемое преобразование отсутствует)
"
Помогите, что не так ? Внизу приведен код всей программы.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
struct Student
{
    char Name [20];
    char Tname [20];
    int Age;
    int iMark [iSize];
    double Average;
};
 
int  _tmain(int argc, _TCHAR* argv[])
{
    srand ((unsigned int)time(0));
    cout<<"How many students ? "<<endl;
    int a;
    cin>>a;
    
    Student * Aname = new Student [20];
    for ( int i = 0; i < a; i++)
        cin>>Aname[i].Name;
    Student * Tname = new Student [20];
    for ( int i = 0; i < a; i++)
        cin>>Tname[i].Tname;
    Student * Aage = new Student [20];
    for ( int i = 0; i < a; i++)
        cin>>Aage[i].Age;
    Student * Amark = new Student [iSize];
    for (int i = 0; i < a; i++) 
    {   
        for ( int j = 0; j < iSize; j++)
            cin>>Amark[j].iMark;
            
    
    }
 
    return 0;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
19.03.2013, 20:11     no operator ">>" matches these operands
Посмотрите здесь:

C++ [C++] no operator">>" matches these operands
Error: no operator "<<" matches these operands C++
C++ no operator">>" matches these operands
C++ No operator "[]" matches these operands
C++ Expected init-declarator before "operator".expected `,' or `;' before "operator"
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Why so seriouS
 Аватар для Why so seriouS
44 / 44 / 1
Регистрация: 12.03.2013
Сообщений: 167
19.03.2013, 20:14     no operator ">>" matches these operands #2
Можешь хотя бы iostream подключить.
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
19.03.2013, 20:16     no operator ">>" matches these operands #3
iMark это массив.
Нужно указать какой элемент массива ты вводишь.
Для массивов символов, т.е. строк Оператор >> перегружен, для остальных нет.
PEVELASKA
3 / 3 / 0
Регистрация: 20.09.2012
Сообщений: 57
19.03.2013, 20:17  [ТС]     no operator ">>" matches these operands #4
Why so seriouS, библиотеки подключены.

Добавлено через 30 секунд
Kuzia domovenok, ну [j] же вроде, разве не так ?
Kuzia domovenok
 Аватар для Kuzia domovenok
1882 / 1737 / 116
Регистрация: 25.03.2012
Сообщений: 5,907
Записей в блоге: 1
19.03.2013, 20:18     no operator ">>" matches these operands #5
Цитата Сообщение от PEVELASKA Посмотреть сообщение
for ( int j = 0; j < iSize; j++) cin>>Amark[j].iMark;
Впрочем я смотрю, ты это понимаешь и просто забыл поставить cin>>Amark[i].iMark[j];
PEVELASKA
3 / 3 / 0
Регистрация: 20.09.2012
Сообщений: 57
19.03.2013, 20:21  [ТС]     no operator ">>" matches these operands #6
Kuzia domovenok, огромное спасибо
Yandex
Объявления
19.03.2013, 20:21     no operator ">>" matches these operands
Ответ Создать тему
Опции темы

Текущее время: 20:31. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru