Estoy intentando acceder a las variables protegidas de una clase de plantilla con diferentes parámetros de plantilla. Una declaración amigo con parámetros de plantilla está dando el siguiente error:Amigo de la plantilla
múltiples listas de parámetros de plantilla no se les permite
Mi código es
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;
};
Si quito la declaración de protección y amigo funciona.
MyClass es un amigo de sí mismo !! – AraK
MyClass no es de la misma clase que MyClass por lo tanto, no puede acceder a sus variables protegidas. –
AraK no hay 'MyClass' como tal. –