Я пытаюсь получить доступ к защищенным переменным класса шаблона с разными параметрами шаблона. Друг декларацию с параметрами шаблона дает следующее сообщение об ошибке:Шаблон для дружбы
несколько списков параметров шаблона не допускается
Мой код
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 является его другом? !! – AraK
MyClass не тот же класс, что и MyClass , поэтому он не может получить доступ к его защищенным переменным. –
AraK нет такого «MyClass». –