класс Base { публика: База() { Фу(); связывать(); } виртуальная пустота foo() { std::cout fn вызывает foo в классе Derived? Мой компилятор — Apple clang версии 14.0.3
Я знаю, что доступ к неактивному члену объединения — это UB, но как насчет вызова функции-члена нулевого размера и тривиального члена объединения ? Технически это не доступ, поэтому я надеюсь, что он действителен, но я не могу найти точную ссылку на...
В частности, вам не разрешено удалять std::vector*, который
на самом деле указывает на производный объект (даже если производный класс не добавляет
членов), однако компилятор обычно не может вас об этом предупредить.