реклама на сайте
подробности

 
 
> Перегрузка операторов в iare
Пришелец
сообщение Aug 11 2005, 13:21
Сообщение #1


Частый гость
**

Группа: Участник
Сообщений: 183
Регистрация: 28-01-05
Пользователь №: 2 272



Для класса перегрузил оператор + всё ок затем добавил перегрузку привидения типа к char и он стал писать такую ошибку:

Error[Pe350]: more than one operator "+" matches these operands:
built-in operator "arithmetic + arithmetic"
function "i2c_p::operator+(unsigned short)"
operand types are: i2c_p __near + int


Может кто в курсе в чём проблема? blink.gif
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Пришелец
сообщение Aug 11 2005, 13:39
Сообщение #2


Частый гость
**

Группа: Участник
Сообщений: 183
Регистрация: 28-01-05
Пользователь №: 2 272



Нет явного приведения не делается blink.gif
Go to the top of the page
 
+Quote Post
freux
сообщение Aug 12 2005, 11:50
Сообщение #3


Участник
*

Группа: Новичок
Сообщений: 41
Регистрация: 7-02-05
Пользователь №: 2 473



Цитата(Пришелец @ Aug 11 2005, 16:39)
Сождаётся впечатление что запись
operator char();
он принимает за перегрузку плюса
*

Компилер не знает какой из операторов + использовать: встроенный или перегруженный, так как у тя имеется оператор char(), которым объект типа i2c_p приводится к char, а char, в свою очередь имеет неявное пробразование в int, ну или там unsigned short. Сделай вместо перегруза char функцию: char toChar()
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 25th July 2025 - 14:54
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016