Ошибка компилятора C ++, связанная с частным наследованием

Не могли бы вы объяснить мне следующую ошибку компилятора:

struct B
{
};

template <typename T>
struct A : private T
{
};

struct C : public A<B>            
{                                                                             
    C(A<B>);   // ERROR HERE
};

Ошибка в указанной строке:

test.cpp:2:1: error: 'struct B B::B' is inaccessible
test.cpp:12:7: error: within this context

Что именно недоступно и почему?

6
задан Aman Aggarwal 10 February 2012 в 05:57
поделиться