Je suis en train de faire que cela fonctionne, mais il arrive avec un message d'erreurC++ création d'un en-tête qui a modèle pour la surcharge ostream
C2473 " operator << looks like a function definition but there is no parameter list."
Fondamentalement, c'est un fichier d'en-tête et je veux pour déclarer un espace de noms et un modèle pour une classe outrepassant l'opérateur < <.
Aidez s'il vous plaît! (Je suis aussi nouveau pour stackoverflow et voici ma première question) :)
#ifndef header
#define header
namespace nmsp{
template <class T>
class expt; //forward declaration of class, so friend function can be defined as a template
template <class T>
std::ostream& operator << (std::ostream& os, const expt <T> &input);
template <class T>
class expt {
friend std::ostream& operator << (std::ostream& os, const expt <T>& input);
private:
T *data;
public:
expt() { data = null; }
};
template <class T>
std::ostream& nmsp:: operator << (std::ostream& os, const expt <class T>& input) {
//....
}
}
}
#endif
S'il vous plaît poster un [MCVE ] et les messages d'erreur verbatim la prochaine fois. –