Я создал новый класс, который составляет std::deque
по частному наследству, т.е.
class B : private std::deque<A>
{ ... };
и в своем исходном коде я попытался использовать итератор B, т.е.
B::iterator it
Ошибка компилятора
error C2247: 'std::deque<_Ty>::iterator' not accessible because 'B' uses 'private' to inherit from 'std::deque<_Ty>'
Вопрос в том, как сделать итератор доступным?
Вы должны продвигать этот класс итератора.
использование с помощью ключевое слово в публичном разделе.
class B : private std::deque<A>
{ ...
public:
using std::deque<A>::iterator;
};
То же самое для других типов, а также для других функций из базового (ых) класса (ов) реализации.
Других решений пока нет …