Вопрос Вот сегодня ночью пришёл в с++ и запнулся на структурах

Регистрация
25 Ноя 2012
Сообщения
80
Репутация
0
Спасибо
0
Монет
0
выдаёт ошибку
278058386_b0be0b8b16e4fd98e4e7ab184a274469_800.png

#include <iostream>

#include <string>

using namespace std;



struct point

{

int x;

int y;

};



int main() {

int n, i, ma = 0;

cin >> n;

for (i = 1; i <= n; ++i)

{

point i;

cin >> i.x >> i.y;

}



point mac;



for (i = 1; i <= n; ++i)

{

if (i.x + i.y > ma) //ошибка здесь

{

mac.x = i.x; //здесь

mac.y = i.y; //здесь

ma = i.x + i.y; //и здесь

}

}

cout << mac.x << mac.y << endl;

}



ошибка: выражение должно иметь тип класса, но имеет тип 'int'



ps: с классами не знаком
 
В с++ структура является классом
 
У вас в счетчике for (int i=0...) появляется новая переменная int i. Так как двух разных переменных с одинаковым именем в одном месте быть не может, то к структуре доступ пропадает внутри области счетчика.
 
for (i = 1; i i.x >> i.y; // |
} //
 
У тебя там int i и point i. Ты уж определись, кто такой этот i...
 
Соболезную. Сам сталкивался. Лень писать, гугли
 
Назад
Сверху