Стандарт определяет, что Unions не могут использоваться в качестве базового класса, но есть ли какие-либо конкретные аргументы для этого? Насколько я понимаю, Unions могут иметь конструкторы, деструкторы, также переменные-члены и методы для работы с этими varibales. Короче говоря, Союз может инкапсулировать тип данных и состояние, к которым можно получить доступ через функции-члены. Таким образом, он в большинстве распространенных терминов квалифицируется как класс, и если он может действовать как класс, то почему он ограничен от действия в качестве базового класса?
Изменить: хотя ответы пытаются объяснить рассуждения, я до сих пор не понимаю, как Союз как производный класс хуже, чем когда Союз как просто класс. Поэтому в надежде получить более конкретные ответы и рассуждения я буду настаивать на этом за щедрость. Не обижайтесь на уже опубликованные ответы, спасибо за это!