Не определено ли поведение const_cast
для удаления пустого базового класса и вызова для него неконстантного метода? Например,
class EmptyBase {
public:
void bar() { ... }
};class Something : public EmptyBase {
public:
void foo() const {
const_cast<EmptyBase&>(static_cast<const EmptyBase&>(*this)).bar();
}
};
Мне не удалось найти соответствующую информацию в стандартах (C ++ 14 и C ++ 17), которая отвечает на это ..