Je travaille sur une affectation dans laquelle je dois surcharger l'opérateur d'insertion pour prendre un objet Node. J'ai créé la fonction de surcharge d'opérateur en dehors de la définition de classe, mais dans le fichier node.h. Tout compile bien, mais l'opérateur surchargé n'est pas appelé, à la place je reçois simplement l'adresse de l'objet.Surcharge de l'opérateur d'insertion C++ (<<)
Il est interdit de modifier le code appelant, donc toute modification doit être apportée à la surcharge de l'opérateur.
Mon code tel qu'il est en ce moment:
/** OPERATOR << ***********************************/
template<class T>
inline std::ostream & operator << (std::ostream & out, const Node <T> *& pHead)
{
out << "INCOMPLETE";
return out;
}
En ce moment, je veux juste assurer l'opérateur surchargé est appelé. Je vais corriger le code de sortie une fois que je sais que j'appelle le bon opérateur.
Le code d'appel:
// create
Node <char> * n = NULL;
// code modifying n
// display
cout << "\t{ " << n << " }\n";
'Cout << * n,' serait une solution plus facile –
C'est vrai, mais comme il est dit, je suis incapable de modifier le code d'appel. – ThomasNichols89
désolé, manquez cette partie. –