【发布时间】:2009-09-22 08:18:35
【问题描述】:
我正在尝试使用不同的模板参数访问模板类的受保护变量。带有模板参数的朋友声明给出以下错误:
不允许有多个模板参数列表
我的代码是
template<class O_, class P_>
class MyClass {
//multiple template parameter lists are not allowed
template<class R_> friend class MyClass<R_, P_>
//syntax error: template<
friend template<class R_> class MyClass<R_, P_>
public:
template<class R_>
ACopyConstructor(MyClass<R_, P_> &myclass) :
SomeVariable(myclass.SomeVariable)
{ }
protected:
O_ SomeVariable;
};
如果我删除保护和朋友声明,它会起作用。
【问题讨论】:
-
MyClass 是它自己的朋友?!!
-
MyClass
与 MyClass 不是同一个类,因此它无法访问其受保护的变量。 -
AraK 没有
MyClass这样的。 -
朋友模板
class MyClass errrr R_ 在那里不知道作为开始恕我直言 -
对不起,问题误解了:)