C ++: con CRTP, la clase definida en la clase derivada no es accesible en la clase base
Aquí está la clase base (simplificada):
template <class T>
class SharedObject
{
protected:
QExplicitlySharedDataPointer <typename T::Data> d;
};
Y aquí está el derivado:
class ThisWontCompile : public SharedObject <ThisWontCompile>
{
private:
friend class SharedObject;
struct Data : public QSharedData
{
int id;
};
};
¿Hay alguna solución para accederThisWontCompile :: Data desde SharedObject? ¿Qué puede y qué no puede hacerse exactamente con el objeto derivado del objeto base?