如何将Loki::SingletonHolder申明为friend
我有一个类准备做成singleon,因此将它的构造函数申明为private
class A
{
private:
A() { }
};
然后用Loki::SingletonHolder管理:
Loki::SingletonHolder<A> gAHolder;
当然编译报错:
C2248: 'Loki::SingletonHolder<T>::__ctor' : cannot access private member declared in class 'Loki::SingletonHolder<T>';
于是我将Loki::SingletonHolder申明为friend
class A
{
private:
A() { }
friend class Loki::SingletonHolder<A>;
};
但还是不行,
编译器为vs.net 2003
请问应该如何改,还是我的理解有问题?谢谢