(簡略化された)基本クラスは次のとおりです。
template <class T>
class SharedObject
{
protected:
QExplicitlySharedDataPointer <typename T::Data> d;
};
そして、ここに派生があります:
class ThisWontCompile : public SharedObject <ThisWontCompile>
{
private:
friend class SharedObject;
struct Data : public QSharedData
{
int id;
};
};
ThisWontCompile::DataからSharedObjectにアクセスするための回避策はありますか? ベースオブジェクトから派生したオブジェクトで何ができて、何ができないのでしょうか?