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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 26, средняя оценка - 4.88
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
#1

expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) - C++

19.03.2009, 12:22. Просмотров 3178. Ответов 16
Метки нет (Все метки)

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
#include <iostream>
using namespace std;
struct point
{
       int x;
       int y;
};
int main()
{
    point bre.x,bre.y,pow.x,pow.y,row;
    int sin,san;
    cout<<"Vvedite koordinati to4ki p1=";
    cin>>bre.x>>bre.y;
    cout<<"Vvedite koordinati to4ki p2=";
    cin>>pow.x>>pow.y;
    getchar();
    row=(bre.x+pow.x)+(bre.y+pow.y);
    sin=(bre.x+pow.x);
    san=(bre.y+pow.y);
    row=sin+san;
    cout<<"summa p1+p2="<<sin<<" "<<san;
    getchar();
    return 0;
}
Вот что пишут:expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) ; (Each undeclared identifier is reported only once for each function it appears in.) ;
`pow' undeclared (first use this function)
;
`row' undeclared (first use this function)
;
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Deicider
96 / 52 / 1
Регистрация: 18.03.2009
Сообщений: 273
19.03.2009, 12:37     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #2
Проблема вот тут: point bre.x,bre.y,pow.x,pow.y,row;

Объявлять нужно так: point bre, pow, row;
Lord_Voodoo
Супер-модератор
8510 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,854
Завершенные тесты: 1
19.03.2009, 12:39     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #3
может так будет лучше:
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
#include <iostream>
using namespace std;
struct point
{
       int x;
       int y;
};
int main()
{
    point bre,powp,row;
    int sin,san;
    cout<<"Vvedite koordinati to4ki p1=";
    cin>>bre.x>>bre.y;
    cout<<"Vvedite koordinati to4ki p2=";
    cin>>powp.x>>powp.y;
    getchar();
    row=(bre.x+powp.x)+(bre.y+powp.y);
    sin=(bre.x+powp.x);
    san=(bre.y+powp.y);
    row=sin+san;
    cout<<"summa p1+p2="<<sin<<" "<<san;
    getchar();
    return 0;
}
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
19.03.2009, 12:46  [ТС]     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #4
Цитата Сообщение от WooDooMan Посмотреть сообщение
может так будет лучше:
так тоже пробывал,до тебя еще,также переписывал
пишет ошибки: no match for 'operator=' in 'row = ((bre.point::x + pow.point::x) + (bre.point::y + pow.point::y))' ;:5 candidates are: point& point::operator=(const point&) ; no match for 'operator=' in 'row = (sin + san)' ;:5 candidates are: point& point::operator=(const point&)
Deicider
96 / 52 / 1
Регистрация: 18.03.2009
Сообщений: 273
19.03.2009, 12:49     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #5
Tiami,
А это уже другая ошибка: ты используешь оператор "=" слева от которого переменная типа "point", а справа типа int. Такое присваивание не может быть осуществлено.
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
19.03.2009, 12:50  [ТС]     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #6
Цитата Сообщение от Tiami Посмотреть сообщение
так тоже пробывал,до тебя еще,также переписывал
даже так пробывал:

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
#include <iostream>
using namespace std;
struct point
{
       int x;
       int y;
};
int main()
{
    point bre,pow,row;
    int sin,san;
    cout<<"Vvedite kkordinati to4ki p1=";
    cin>>bre.point.x>>bre.point.y;
    cout<<"Vvedite koordinati to4ki p2=";
    cin>>pow.point.x>>pow.point.y;
    getchar();
    row=(bre.point.x+pow.point.x)+(bre.point.y+pow.point.y);
    sin=(bre.point.x+pow.point.x);
    san=(bre.point.y+pow.point.y);
    row=sin+san;
    cout<<"summa p1+p2="<<sin<<" "<<san;
    getchar();
    return 0;
}
Пишет ошибки: invalid use of `struct point' ; no match for 'operator=' in 'row = (sin + san)' ; :5 candidates are: point& point::operator=(const point&)
Deicider
96 / 52 / 1
Регистрация: 18.03.2009
Сообщений: 273
19.03.2009, 12:52     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #7
По сути сама переменная row не может иметь никакого значения, а значения присваиваются членам этой структуры: row.x и row.y.

Как я понял, ты хочешь просто сложить координаты точек. Для этого row должно быть объявлено как int.

Если же требуется получить новую точку, координаты которой будут получаться соответствующим суммированием координат, то запись будет такая:
row.x = bre.x+pow.x;
row.y = bre.y+pow.y;

Из кода не совсем понятно, что на выходе нужно получить ))) Поясни задачу, и тогда можно будет точно сказать, как кодить ))
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
19.03.2009, 12:54  [ТС]     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #8
Цитата Сообщение от Deicider Посмотреть сообщение
По сути сама переменная row не может иметь никакого значения, а значения присваиваются членам этой структуры: row.x и row.y.
мне просто в задачке нада присвоить переменной row=cумма первых координат+сумма вторых координат;и вывести их суммы на экран.
ISergey
Maniac
Эксперт С++
1346 / 879 / 51
Регистрация: 02.01.2009
Сообщений: 2,643
Записей в блоге: 1
19.03.2009, 12:54     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #9
задумайтесь над этими строчками
C++
1
2
3
4
5
point /*....*/row;
//.................
row=(bre.x+powp.x)+(bre.y+powp.y);//!row.?
//.................
row=sin+san;//!row.?
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
19.03.2009, 12:58  [ТС]     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #10
Цитата Сообщение от ISergey Посмотреть сообщение
задумайтесь над этими строчками
Я же row не вывожу на экран,я просто присваиваю значений сумм координат,а потом присваю суммы координат переменным sin и san,и вывод на экран если можешь напиши как правильно...
Deicider
96 / 52 / 1
Регистрация: 18.03.2009
Сообщений: 273
19.03.2009, 13:01     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #11
Цитата Сообщение от Tiami Посмотреть сообщение
мне просто в задачке нада присвоить переменной row=cумма первых координат+сумма вторых координат;и вывести их суммы на экран.
Тогда row должна быть типа int.
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
19.03.2009, 13:01  [ТС]     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #12
Цитата Сообщение от Deicider Посмотреть сообщение
Как я понял, ты хочешь просто сложить координаты точек. Для этого row должно быть объявлено как int.
угу ща также подумал
Lord_Voodoo
Супер-модератор
8510 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,854
Завершенные тесты: 1
19.03.2009, 13:02     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #13
Tiami, ну и что, что ты его не выводишь, ты структуре point присваешь значениe int, вот и матюкается, потому что не понимает этой операции
Tiami
Яростный кот
-4 / 1 / 1
Регистрация: 10.03.2009
Сообщений: 220
19.03.2009, 13:04  [ТС]     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #14
Цитата Сообщение от Deicider Посмотреть сообщение
Тогда row должна быть типа int.
Уже сам допер,но все равно Всем СпасибоСтавлю Респект и Уважуха

Добавлено через 46 секунд
Цитата Сообщение от Tiami Посмотреть сообщение
Tiami, ну и что, что ты его не выводишь, ты структуре point присваешь значениe int, вот и матюкается, потому что не понимает этой операции
Угу типа того
Deicider
96 / 52 / 1
Регистрация: 18.03.2009
Сообщений: 273
19.03.2009, 13:05     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #15
Цитата Сообщение от WooDooMan Посмотреть сообщение
Tiami, ну и что, что ты его не выводишь, ты структуре point присваешь значениe int, вот и матюкается, потому что не понимает этой операции
Конечно можно заставить понимать, если сделать не структуру, а класс, и в нем перегрузить операторы + и =. Но судя по данной задаче, этого не требуется )))
Lord_Voodoo
Супер-модератор
8510 / 2177 / 61
Регистрация: 07.03.2007
Сообщений: 10,854
Завершенные тесты: 1
19.03.2009, 13:22     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #16
Deicider, я же не сказал, что нельзя этого сделать вообще... рассматриваем же конкретный случай))) хотя думаю вопрощающий еще порадует нас перлами программирования...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
19.03.2009, 13:33     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function)
Еще ссылки по теме:

C++ Expected init-declarator before "operator".expected `,' or `;' before "operator"
C++ Qt ошибки "qualified-id declaration before '(' token" и "expected '}' at end of input"
Ошибка "Expression expected" C++
Ошибка "expected primary-expression before 'char'" при объявления переменной C++
C++ Исправить ошибку "expected primary-expression before 'int'"

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
Deicider
96 / 52 / 1
Регистрация: 18.03.2009
Сообщений: 273
19.03.2009, 13:33     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function) #17
Цитата Сообщение от WooDooMan Посмотреть сообщение
Deicider, я же не сказал, что нельзя этого сделать вообще... рассматриваем же конкретный случай))) хотя думаю вопрощающий еще порадует нас перлами программирования...
WooDooMan, это я вопрошающему адресовал )) А перлы у всех когда-то были. Я в далеком восьмом классе школы начал учить C++ и несколько дней не мог догнать, что такое функции, а от классов вообще волосы дыбом вставали )))) Сорри за оффтоп.
Yandex
Объявления
19.03.2009, 13:33     expected primary-expression before "bre" ; expected `;' before "bre" ; `bre' undeclared (first use this function)
Ответ Создать тему
Опции темы

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