Tengo un problema similar al descrito en el siguiente enlace donde una clase base heredada de forma privada da un error de "inaccesible dentro de este contexto" cuando intento declarar un miembro de la clase base dentro de la clase derivada: http://bytes.com/topic/c/answers/164246-private-inheritance-renders-class-inaccessibleLa herencia privada oculta la clase base con el error "inaccesible dentro de este contexto"
explícitamente referencia X con X :: funciona en el caso anterior, pero lo que si el código está en una función como:
void fooby()
{
class X {};
class Y : private X {};
class Z : public Y
{
public:
X x; // compiler "inaccessible within this context" error
};
};
Cómo ¿Hace referencia a X en este caso?
Si fooby fuera una estructura/clase, entonces :: fooby :: X funcionaría, pero no estoy seguro de cómo hacerlo en el caso anterior.
¿Qué intenta hacer teniendo tanto un miembro como una clase base del mismo tipo? Quizás eso ayude con una sugerencia alternativa. –
@Mark B: esto es solo un simple ejemplo artificial para ilustrar el comportamiento que estoy tratando de comprender –