г ++ правильно.
Стандарт C ++ & sect; 11.5 / 1 гласит, что "<...> доступ должен осуществляться через указатель, ссылку или объект самого класса производного <...>" , В случае конструкторов это означает, что B
разрешено вызывать защищенный конструктор A
только для создания своего собственного подобъекта.
Проверьте эту связанную проблему в g ++. Он был закрыт как не ошибка.