![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| Vyacheslav |
|
||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
Навеяно спорами о "страшной глючности" Builder.
http://forum.vingrad.ru/topic-75462.html Залез я Quality Central (года два уже не лазил) и посмотрел состояние дефектов, которые в свое время им выкатил. Один они пофиксили, второй у них на очередном build не проявился, а третий - они отрежектили. А касается он множественного наследования.
Ключевая фраза здесь DIRECT AND INDIRECT BASE , то есть я имею право унаследовать от базового класса более чем один раз и при этом один раз непосредственно
В результате компилятор не позволил 1)явно вызвать конструкторы базовых классов в списке инициализации C() :B(),A(){} 2)не дал обратиться с члену val, который унаследован прямо от A c указанием полной спецификации int i = c.A::val 3) и ( это уже от отчаяния Зато спокойно (как и положено ) дает доступ к val, пришедшей с B Есть комментарий
То есть Comeau поступил аналогично. Дефект отрежектили как некорректный. Я неправильно трактовал стандарт? Любопытно, как в этом случае поступают другие компиляторы? -------------------- С уважением, Вячеслав Ермолаев |
||||||
|
|||||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
VS 2005
Это если тупо скопировать и расккомментировать код. Это сообщение отредактировал(а) Xenon - 29.12.2006, 16:53 |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: 9 Всего: 59 |
надо было убрать C(){}; и раскоментарить C() :B(),A(){} и int i = c.A::val -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| Xenon |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 1529 Регистрация: 12.4.2006 Репутация: 11 Всего: 50 |
Vyacheslav, ну все равно все понятно.
|
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |