Freund-Operator
Wenn Sie versuchen, den
Im bereitgestellten Code lautet die Friend-Deklaration für den
friend ostream& operator<<(ostream&, Pair<T,U>&);
Der Compiler empfiehlt jedoch, dem Funktionsnamen -Klammern hinzuzufügen, um anzuzeigen, dass er als Vorlagenfunktion deklariert werden sollte. Die korrekte Syntax lautet:
friend ostream& operator<< <> (ostream&, Pair<T,U>&);
Dies deklariert den
Denken Sie daran, dass die Template-Funktionsdeklaration auch vor der Pair-Klassen-Template-Definition platziert werden sollte, um sicherzustellen, dass der Compiler beim Parsen der Friend-Deklaration die Template-Funktion kennt. Der korrigierte Code mit der richtigen Friend-Deklaration und Template-Funktionsdeklaration:
template <class T, class U> class Pair;
template <class T, class U>
ostream& operator<< <> (ostream&, Pair<T,U>&);
// Pair template class definition...
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3