Может не ответить на все ваши вопросы напрямую, тем не менее я решил выложить его здесь для дальнейшего использования.Также, пожалуйста, отнеситесь к этому с солью, поскольку это основано на моем понимании событий, которые произошли в мире C ++ Standard, а не фактических данных.
Чтение this .У меня нет ARM, но в статье приводятся необходимые подробности.
Примечание 115 в C ++ 0x говорит:
115) Объявления доступа устарели;декларации об использовании членов (7.3.3) предоставляют лучшие способы сделать то же самое.В более ранних версиях языка C ++ декларации доступа были более ограничены;они были обобщены и сделаны эквивалентными декларациям использования в интересах простоты.Программистам рекомендуется использовать декларации использования, а не новые возможности объявлений доступа, в новом коде.
В заключение:
Я думаю, что ARM изначально запретил это:
Объявление доступа не может использоваться для ограничения доступа к члену, который доступен в базовом классе, а также не может использоваться для разрешения доступа к члену, который недоступен в базовом классе.
Но позже, я думаю, когда Стандарт эволюционировал , это в конечном итоге было разрешено