2
我有一個ResourcePtr<T>
類模板和ResouceManager<T>
模板。我想讓他們彼此交朋友。如果我做了以下,我得到一個編譯錯誤;我怎樣才能解決這個問題?模板互相好友
template<class T>
class ResourcePtr
{
friend class ResourceManager<T>;
};
template<class T>
class ResourceManager
{
friend class ResourcePtr<T>;
};
錯誤C2059:語法錯誤: '<'
錯誤C2238:意外的標記(一個或多個)之前 ';'
謝謝!而不是正向聲明它,我做了'template朋友類ResourceManager;'直接因爲它更短。 :D –
2011-06-08 10:03:44
@Paul:它有不同的含義。 AProgra的方法只聲明'ResourceManager ** **與同樣的T **是朋友,你的方法聲明任何ResourceManager都是朋友。 –
ybungalobill
2011-06-08 10:06:25
@ybungalobill謝謝,我不知道。 – 2011-06-08 10:19:29