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

Ошибка при перегрузке операторов. - C++

Восстановить пароль Регистрация
 
Гимнаст
0 / 0 / 0
Регистрация: 13.08.2010
Сообщений: 12
26.01.2012, 21:26     Ошибка при перегрузке операторов. #1
Здравствуйте! Возникла необходимость создать свой класс-обертку для работы с большими числами. Бибилиотека mpir=порт GMP.
Пример рабочий:
Код
IntGmp s((long)20); IntGmp q((long)30);
s=q=s+s; q.Print(); s.Print();
но если же написать
Код
s=q=s+s+s;
то возникает исключительние. в чем может быть ошибка ?

Код во вложениии.
Исключение :
Код
Необработанное исключение в "0x1003317f (mpir.dll)" в "Обертка.exe": 0xC0000005: Нарушение прав доступа при чтении "0xcdcdcdd1".
Вложения
Тип файла: txt IntGmp_h.txt (354 байт, 9 просмотров)
Тип файла: txt IntGmp.txt (1.1 Кб, 12 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.01.2012, 21:26     Ошибка при перегрузке операторов.
Посмотрите здесь:

При перегрузке операторов не записывает значение C++
О перегрузке операторов C++
Ошибка в перегрузке операторов для класса - итератора C++
Ошибка при перегрузке операторов в классе C++
Ошибки при перегрузке операторов C++
Сколько используется параметров при перегрузке унарных операторов как френд-функций? C++
C++ Ошибка в перегрузке операторов?
Можно ли при перегрузке операторов задавать дополнительные параметры? C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
27.01.2012, 03:43     Ошибка при перегрузке операторов. #2
Гимнаст, вы из оператора сложения ссылку возвращаете. А на что? На локальный объект, который после работы функции тут же исчезает. Надо возвращать результат по значению.
Да и вообще код чреват ошибками. Например, вы работаете с динамической памятью, но не реализовали ни конструктор копии, ни деструктор.
Yandex
Объявления
27.01.2012, 03:43     Ошибка при перегрузке операторов.
Ответ Создать тему
Опции темы

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