Sobrecarregando o operador amigo
Ao tentar sobrecarregar o operador
No código fornecido, a declaração de amigo para o operador
friend ostream& operator<<(ostream&, Pair<T,U>&);
No entanto, o compilador recomenda adicionar colchetes ao nome da função, indicando que ela deve ser declarada como uma função de modelo. A sintaxe correta é:
friend ostream& operator<< <> (ostream&, Pair<T,U>&);
Isso declara o operador
Lembre-se, a declaração da função do modelo também deve ser colocada antes da definição do modelo da classe Pair para garantir que o compilador esteja ciente da função do modelo ao analisar a declaração de amigo. O código corrigido com a declaração de amigo e a declaração de função de modelo corretas:
template <class T, class U> class Pair;
template <class T, class U>
ostream& operator<< <> (ostream&, Pair<T,U>&);
// Pair template class definition...
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3