作者ireullin (raison detre)
看板C_and_CPP
標題[問題] c++中的sealed物件
時間Tue Oct 25 16:31:33 2011
請問一下各位
網路上有一些文章有教各位如何實做sealed物件
但是我照他們的方法實做之後卻無法編譯
請各位幫我指點一下問題
謝謝
以下是我的程式碼
template<typename T>
class Sealed
{
protected:
Sealed(){}
};
template<typename T>
class SealedSingleton : private virtual Sealed<T>
{
private:
friend typename T;
public:
SealedSingleton(){}
};
然後錯誤訊息是
../SealedSingleton.h:17: error: expected nested-name-specifier before 'T'
../SealedSingleton.h:17: error: 'T' is neither function nor member function;
cannot be declared friend
我使用的編譯器是g++ 4.2.4
作業系統是AIX 5.2
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 61.220.71.34
→ johnhmj:喔…原來是IBM的UNIX作業系統 ( ̄ー ̄;) 10/25 16:44
→ priv:你要不要換新一點的compiler... 10/25 16:45
→ priv:我是看不懂不過VC++ 2010 Express可以編過XD 10/25 16:48
推 LPH66:friend class T; 這樣呢? (不確定行就是了) 10/25 17:08
→ ireullin:也是不行= =a 10/25 17:22
→ johnhmj:更新編譯器的版本(或是 升級系統) 10/25 17:24
→ shadow0326:把所有的typename都改成class看看 10/25 17:28
→ shadow0326:有些compiler好像不支援friend typename 10/25 17:28