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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
salvafion
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 193
#1

ключевое слово const в параметрах конструктора копий - C++

02.05.2010, 21:56. Просмотров 865. Ответов 5
Метки нет (Все метки)

вот такая делема возникла))есть билдер 2006 и 2009 в 6-ом конструктор копий определен так
Имя(Имя&); и все прекрасно работает как надо, когда я открываю проект в 2009 и нажимаю на запуск мне выскакивает ошибка на присваивании объекту функции, которая возвращает другой объект
[BCC32 Error] Unit1.cpp(175): E2285 Could not find a match for 'Strochka::Strochka(Strochka&)'
но это не все...я потом решил сделать определение конструктора так Strochka::Strochka(const Strochka&); и воаля..все заработало отлично..

объясните мне в чем суть? что видит 2009 чего не видит 2006 или вообще из-за чего такие ошибки возникают
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.05.2010, 21:56     ключевое слово const в параметрах конструктора копий
Посмотрите здесь:

C++ Ключевое слово inline
Ключевое слово try C++
C++ Ключевое слово static_cast
Не хватает одного конструктора копий C++
C++ Вызов конструктора копий
C++ Ключевое слово static
C++ Вызов конструктора копий
C++ Ключевое слово class в параметрах функции
Создать ключевое слово C++
C++ Спецификатор const у конструктора
C++ Ключевое слово this
Ключевое слово const после декларации функции в классе C++

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

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
CheshireCat
Эксперт С++
2910 / 1238 / 78
Регистрация: 27.05.2008
Сообщений: 3,321
02.05.2010, 23:18     ключевое слово const в параметрах конструктора копий #2
По Стандарту, конструктор копий (copy constructor) может иметь любую из сигнатур Strochka::Strochka(Strochka&); или Strochka::Strochka(const Strochka&);
salvafion
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 193
03.05.2010, 13:32  [ТС]     ключевое слово const в параметрах конструктора копий #3
ну прям глаза открыл щас)))вопрос то не в стандартах))вопрос, почему в билдере 2009 не прохидит конструктор без const при возвращении и присвоении?
CheshireCat
Эксперт С++
2910 / 1238 / 78
Регистрация: 27.05.2008
Сообщений: 3,321
03.05.2010, 14:05     ключевое слово const в параметрах конструктора копий #4
Значит, это кривизна конкретно дебилдеровского компилятора. Вариантов у тебя только два: либо примириться и считать такое поведение багофичей и помнить о нем, либо - отправить дебилдер туда, где ему самое место (в Корзину).
Genius Ignat
1233 / 771 / 44
Регистрация: 16.09.2009
Сообщений: 2,014
03.05.2010, 14:07     ключевое слово const в параметрах конструктора копий #5
salvafion:
Вопрос как раз таки в стандарте: как разработчики компиляторов внедряют этот стандарт в
свои компиляторы.
Это еще мелочь, вы еще не видели, то что компиляторы могут делать: не опираясь ни на какой стандарт.
salvafion
10 / 10 / 1
Регистрация: 16.06.2009
Сообщений: 193
03.05.2010, 14:13  [ТС]     ключевое слово const в параметрах конструктора копий #6
так я бы понял еслиб он без const не работал вообще..тогда да, это есть особенность компилятора. но он работает и без этого ключевого слова...только конкретно в этом случае он выдал такую ошибку...были бы стандарты тогда бы он везде так ошибку выдавал, а так только в некоторых случаях....2006 же ни че не выдает а работает и с тем и с тем..вот и интересно ииз-за чего такие ошибки могут возникнуть...и вообще че всем билдер так не любят??на мой взгляд очень понятная и простая в использовании программа не то что вижак с его MFC где надо что б обработчик создать через кучу контекстных меню пройти....да и вообще это дело вкуса каждого
Yandex
Объявления
03.05.2010, 14:13     ключевое слово const в параметрах конструктора копий
Ответ Создать тему
Опции темы

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