Vorlage Freundschaft

9

Ich versuche auf geschützte Variablen einer Template-Klasse mit verschiedenen Template-Parametern zuzugreifen. Eine Friend-Deklaration mit Vorlagenparametern gibt den folgenden Fehler:

mehrere Vorlagenparameterlisten sind nicht erlaubt

Mein Code ist

%Vor%

Wenn ich die Schutz- und Freundschaftsdeklaration entferne, funktioniert es.

    
Cem Kalyoncu 22.09.2009, 08:18
quelle

2 Antworten

10

Vom Standard: 14.5.3 / 9 [temp.friend], "Eine Freundschaftsvorlage darf nicht als Teilspezialisierung deklariert werden.", so dass Sie sich nur mit allen Instanzen einer Klassenvorlage oder spezifischen vollständigen Spezialisierungen anfreunden können.

In Ihrem Fall müssen Sie die Klassenvorlage als Freund deklarieren, wenn Sie mit Instanziierungen mit einem freien Vorlagenparameter befreundet sein möchten.

z.B.

%Vor%     
Charles Bailey 22.09.2009, 08:55
quelle
0

Das Folgende scheint zu funktionieren und erklärt effektiv alle MyClass-Typen als Freunde miteinander.

%Vor%     
Cem Kalyoncu 22.09.2009 08:43
quelle

Tags und Links