Ich versuche, geschützte Variablen einer Vorlageklasse mit verschiedenen Vorlagenparameter zugreifen. Ein Freund Erklärung mit Template-Parameter wird die folgende Fehlermeldung geben:Vorlage Freundschaft
mehrere Vorlagenparameterlisten
Mein Code nicht erlaubt ist
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;
};
Wenn ich den Schutz und Freund Erklärung funktioniert es entfernen.
MyClass ist ein Freund von ihm selbst? !! – AraK
MyClass ist nicht dieselbe Klasse wie MyClass daher kann es nicht auf seine geschützten Variablen zugreifen. –
AraK gibt es keine 'MyClass' als solche. –