У меня есть объект класса, который имеет частный конструктор:Частный конструктор
class CL_GUIComponent
{
// ...
private:
CL_SharedPtr<CL_GUIComponent_Impl> impl;
CL_GUIComponent(CL_GUIComponent &other);
CL_GUIComponent &operator =(const CL_GUIComponent &other);
CL_GraphicContext dummy_gc;
};
У меня есть класс, который имеет указатель на объект типа I, описанного ранее.
class Some
{
private:
CL_GUIComponent *obj;
public:
CL_GUIComponent getComp() { return *obj; }
}
Но этот код вызывает ошибку:
In member function ‘CL_GUIComponent Some::getComp()’:
error: ‘CL_GUIComponent::CL_GUIComponent(CL_GUIComponent&)’ is private
error: within this context
Как я могу хранить и получить этот объект?
Это не решает проблему, поскольку он явно не может изменить эту функцию. – Potatoswatter