![]() |
|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]()
пишу класс string, делаю перегрузку оператора присваивания
Код:
но если передавать по ссылке Код:
почитал страуструпа, так и не понял почему первый случай не работает. собственно вопрос: почему?
Форматируйте код, будьте людьми.
|
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 27.03.2011
Сообщений: 12
|
![]()
Судя по всему, когда ты передаешь объект по значению, то запускается конструктор копирования, и возникает неопределенность, но если можно просто закопипасти ошибку которая вылетает, если можно, самому интересно
|
![]() |
![]() |
![]() |
#3 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]()
ошибка вылезает рантаймовая, и это полный ***
Код:
Форматируйте код, будьте людьми.
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]()
правильная форма string& operator=(string& r) же.
у вас void operator=(string& r). "double free" может все-таки КК? |
![]() |
![]() |
![]() |
#5 | |
C++
Форумчанин
Регистрация: 27.03.2011
Сообщений: 803
|
![]() Цитата:
Ищете информацию по C++?
cplusplus.com |
|
![]() |
![]() |
![]() |
#6 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]()
почему string& operator = (string&) ?
ведь мы в текущий объект (this) записываем данные из аргумента или я чего-то не понимаю?
Форматируйте код, будьте людьми.
|
![]() |
![]() |
![]() |
#7 | |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]()
не принципиально, хотя безусловно недочет.
Цитата:
о надо же. я оказался прав. http://ru.wikipedia.org/wiki/%D0%9E%...D0%B2_%D0%A1++ Последний раз редактировалось onewho; 16.04.2011 в 12:36. |
|
![]() |
![]() |
![]() |
#8 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]()
аа
ну для меня пока не принципиально возвращать this, для себя же пишу вопрос в том, почему только по ссылке работает
Форматируйте код, будьте людьми.
|
![]() |
![]() |
![]() |
#9 |
Форумчанин
Регистрация: 29.09.2010
Сообщений: 636
|
![]()
может все таки дело в конструкторе копий? покажите его.
|
![]() |
![]() |
![]() |
#10 |
С++
Форумчанин
Регистрация: 22.09.2008
Сообщений: 791
|
![]() Код:
более того, если написать Код:
Форматируйте код, будьте людьми.
|
![]() |
![]() |
![]() |
|
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Классы | casper1991 | Visual C++ | 6 | 22.02.2011 16:34 |
СИ++ классы!!! | XOKS | Помощь студентам | 1 | 27.01.2011 21:08 |
классы | Dimarik | Общие вопросы C/C++ | 1 | 18.09.2009 20:32 |