Cosa c'è di sbagliato?nodx è un puntatore a un oggetto, non un oggetto. E gli operatori voglio oggetti, non puntatori a oggetti (presumo che nodx.value = 20 sia un errore di battitura dell'esempio).codice:Node<int>* nodx; nodx.value = 20; cout<<nodx<<endl;
Questo è corretto.
Poi devi ritornare lo ostream.codice:Node<int>* nodx; nodx->value = 20; cout<< (*nodx) <<endl;
codice:template <typename T> class Node { /* Overload operatori di streaming */ friend ostream & operator<<(ostream &out, const Node &node) { out<<node.value; return out; } }