Re: Абстрактный класс и множественное наследование
От: rg45 СССР  
Дата: 18.01.19 11:39
Оценка: 1 (1) +2
Здравствуйте, Gregory, Вы писали:

G>Возникла следующая проблема,заключающаяся в непредсказуемом поведении компилятора VC++.

G>Есть три класса:
G>При попытке вызвать Daughter::foo все рушится. Как следует из просмотра asm-листинга, в vftable там, где по идее должен был бы находится адрес Daughter::foo, находится непонятно что. Выглядит вызов следующим образом:
G>Выглядит все вроде бы правильно, но при просмотре в дебагере видно, что в eax оказывается вовсе не адрес Daughter::foo. С точки зрения синтаксиса вроде бы тоже все правильно. Что это, глюк компилятора?

Я попробовал доработать исходный пример и запустил его на Visual Studio 2015 и на GCC-6.3, никаких проблем не обнаружил:

https://ideone.com/TbjBEN.

Поэтому для начала хотелось бы понимать, о какой версии студии идет речь, а так же увидеть минимальный рабочий пример, воспроизводящий проблему.
--
Справедливость выше закона. А человечность выше справедливости.
Отредактировано 18.01.2019 11:39 rg45 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.