Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 11.11.2008, 16:36   #1
Tev
Новичок
Джуниор
 
Регистрация: 11.11.2008
Сообщений: 2
По умолчанию ошибка expected init-declarator before "operator"

Пытаюсь разобраться в перегрузке операторов(+,- итд). Код такой:

#include <iostream>
//#include "complex.h"
//using namespace std;
class complex{
public:
complex(double a,double b):re(a),im(b){}
friend complex operator +(complex a, complex b);

private:
double re,im;
}
complex operator+(complex a, complex b) //-----12---
{
complex c;
c.re=a.re+b.re;
c.im=a.im+b.im;
return c;
}
int main(){
complex x(1,1),y(2,3),z(0,0);
z=x+y;
}

Ошибка в 12 строке:
expected init-declarator before "operator"
expected "," or ";" before "operator"

Компилятор Dev-C++ 4.9.9.2
В чем может быть проблема? Заранее благодарен за ответ.
Tev вне форума Ответить с цитированием
Старый 12.11.2008, 23:16   #2
MaTBeu
Eclipse Foundation
Старожил
 
Аватар для MaTBeu
 
Регистрация: 19.09.2007
Сообщений: 2,604
По умолчанию

Код:
#include <iostream>
//#include "complex.h"
//using namespace std;
class complex{
public:
complex(double a,double b):re(a),im(b){}
friend complex operator +(complex a, complex b); 

private:
double re,im;
}; //вот тут точка с запятой должна быть
complex complex::operator+(complex a, complex b) //-----12---
{
complex c;
c.re=a.re+b.re;
c.im=a.im+b.im;
return c;
} 
int main(){
complex x(1,1),y(2,3),z(0,0);
z=x+y; 
}
После объявления класса надо ставить точку с запятой.
MaTBeu вне форума Ответить с цитированием
Старый 13.11.2008, 22:31   #3
Tev
Новичок
Джуниор
 
Регистрация: 11.11.2008
Сообщений: 2
По умолчанию

Спасибо огромное. Дня три не мог понять в чем дело.
Tev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Ошибка при использовании OlePropertyGet("Documents").OleProcedure("Add") в C++ Builder AleksP C++ Builder 7 11.04.2009 13:06
"Ошибка приложения" при запуске мидлета hotman Общие вопросы по Java, Java SE, Kotlin 0 04.09.2008 15:16
если пользователь наберет какой-то другой символ не "y" или "n" и нажмет enter, программа проигнорирует skobets Общие вопросы C/C++ 2 03.06.2008 06:51
Excel файл открывается не "до конца" (странички "не показываются" только серое поле) Dorvir Microsoft Office Excel 2 28.03.2008 10:03
Создаю диаграмму "Bar". Подскажите как убрать растояние между "столбами" MAcK Компоненты Delphi 11 24.10.2007 10:49