Sobrecarga del operador amigo
Al intentar sobrecargar el operador
En el código proporcionado, la declaración de amigo para el operador
friend ostream& operator<<(ostream&, Pair<T,U>&);
Sin embargo, el compilador recomienda agregar corchetes al nombre de la función, lo que indica que debe declararse como una función de plantilla. La sintaxis correcta es:
friend ostream& operator<< <> (ostream&, Pair<T,U>&);
Esto declara al operador
Recuerde, la declaración de la función de la plantilla también debe colocarse antes de la definición de la plantilla de la clase Pair para garantizar que el compilador conozca la función de la plantilla al analizar la declaración del amigo. El código corregido con la declaración de amigo y la declaración de función de plantilla correctas:
template <class T, class U> class Pair;
template <class T, class U>
ostream& operator<< <> (ostream&, Pair<T,U>&);
// Pair template class definition...
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3