テンプレートパラメータの異なるテンプレートクラスの保護された変数にアクセスしようとしています。テンプレートパラメータを持つ友人の宣言は、次のエラーを与えている:私はそれが動作保護と友人宣言を削除する場合テンプレートの友だち
複数のテンプレートパラメータリストが許可されていません
私のコードは
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」はありません。 –