Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 5.00/5: Рейтинг темы: голосов - 5, средняя оценка - 5.00
azbest
41 / 41 / 18
Регистрация: 12.03.2013
Сообщений: 148
1

Перегрузка оператора == и др

01.06.2014, 17:29. Просмотров 864. Ответов 5
Метки нет (Все метки)

C++ Builder ругаеться на перегрузку операторов. На mingw32-g++ все компилилось нормально.
Пример пергрузки взял с хабра


описание оператора
C++
1
2
3
4
5
6
7
8
class poly {
.................
public:
    .........
    friend bool operator==(const poly& left, const poly& right);
    .........
 
};
реализация
C++
1
2
3
bool operator==(const poly& left, const poly& right) {
    return (left.p == right.p);
}
p -- это вектор.

на это билдер выдает ошибку
[bcc32 Error] ChainFrac.h(385): E2293 ) expected
0
Лучшие ответы (1)
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.06.2014, 17:29
Ответы с готовыми решениями:

Перегрузка оператора +
Доброго времени суток. Есть программа, создающая связный список, который содержит числа по...

Перегрузка оператора ->
обясните пожалуйста как перегружать -> и для чего это нужно

Перегрузка оператора []
Сделал простой аналог auto_ptr для дин. массива. Файл #ifndef ARRAY_PTR_GUARD #define...

Перегрузка оператора ->
скажите, а какие особенности перегрузки -> ?

Перегрузка оператора []
Всем привет! Как можно перегрузить оператор так, чтобы к нему можно было обращаться так:...

5
0x10
2850 / 1934 / 327
Регистрация: 24.11.2012
Сообщений: 4,740
01.06.2014, 17:43 2
Во-первых, подозреваю, что версия билдера какая-нибудь древняя, покрытая плесенью.
Во-вторых, по этим кускам кода невозможно даже прежположить где именно он ожидает круглой скобки.
0
azbest
41 / 41 / 18
Регистрация: 12.03.2013
Сообщений: 148
01.06.2014, 18:01  [ТС] 3
Билдер RAD Studio XE6

ошибку выдает в строке
C++
1
bool operator==(const poly тут курсор & left, const poly& right) {
Добавлено через 14 минут
ссылка на весь заголовочный файл на GitHub
0
0x10
2850 / 1934 / 327
Регистрация: 24.11.2012
Сообщений: 4,740
01.06.2014, 18:06 4
Лучший ответ Сообщение было отмечено azbest как решение

Решение

От фонаря: предлагаю переименовать класс poly и посмотреть что будет.
Вдруг конфликтует с чем-нибудь билдеровским.
1
azbest
41 / 41 / 18
Регистрация: 12.03.2013
Сообщений: 148
01.06.2014, 18:12  [ТС] 5
Ну что же я в шоке))) но наверное был конфликт. После переименования в polynom скомпилилось.
0
TrueBit
97 / 97 / 47
Регистрация: 19.11.2012
Сообщений: 195
01.06.2014, 18:15 6
Можно еще попробовать заключить в пространство имен:

C++
1
2
3
namespace myname {
   // тут сам класc
}
обращаться так:
C++
1
myname::poly
0
01.06.2014, 18:15
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.06.2014, 18:15

Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.

Перегрузка оператора
Не могу разобратся с перегрузками, помогите пожалуйста ребята Дать определение перегрузке функции...

Перегрузка оператора =
Скажи пожалуйста в каких случаях нужно перегружать оператор = ?

Перегрузка оператора ++
Написал префиксную перегрузку ++ Vremya &Vremya::operator ++ () { int sec =...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2020, vBulletin Solutions, Inc.