我有一个ResourcePtr<T>
课程模板和一个ResouceManager<T>
模板。我希望这两个人互相交朋友。如果我执行以下操作,则会出现编译错误;我该如何解决这个问题?
template<class T>
class ResourcePtr
{
friend class ResourceManager<T>;
};
template<class T>
class ResourceManager
{
friend class ResourcePtr<T>;
};
错误C2059:语法错误:'&lt;'
之前的意外标记
错误C2238:';'
答案 0 :(得分:6)
与往常一样:在另一个人的定义之前宣布一个。
template<class T>
class ResourceManager;
template<class T>
class ResourcePtr
{
friend class ResourceManager<T>;
};
template<class T>
class ResourceManager
{
friend class ResourcePtr<T>;
};