Bonjour,
j'ai voulu ecrire un ensemble de fonctions templates, et ca marche pas, pq j'ai plusieurs fonctions qui portent le meme nom et qui sont definies plusieurs fois : error C2995 template function as already been defined et error C2954 template function cannot nest.
Une idee ?
Merci
#include "commun.h"
// Fonction d'écriture et de lecture dans des fichiers texte à partir de PILEs
// Chaque ligne du fichier correpond à un élément de la PILE passée en paramètre
// Toutes les fonctions sont templatées !
// Implémentée pour :
//
// * PILEs "simples" :
// - PILE <T>
// * Points (2D et 3D) :
// - PILE < TPoint2D <T> >
// - PILE < TPoint3D <T> >
// * Segments (2D et 3D) :
// - PILE < Seg2D >
// - PILE < Seg3D >
/*------------------------------------------------------------------------------------
PILEs "simples"
------------------------------------------------------------------------------------*/
// Lecture :
template <class T> TChaine LireFichier(PILE <T> pile);
template <class T> TChaine LireFichier(PILE <T> pile , TChaine Nomfichier);
// Ecriture :
template <class T> TChaine EcrireFichier(const PILE <T> & pile);
template <class T> TChaine EcrireFichier(const PILE <T> & pile , TChaine Nomfichier);
/*------------------------------------------------------------------------------------
PILEs de Points (2D et 3D)
------------------------------------------------------------------------------------*/
// Lecture :
template <class T> TChaine LireFichier(PILE < TPoint2D <T> > pile);
template <class T> TChaine LireFichier(PILE < TPoint2D <T> > pile , TChaine Nomfichier);
template <class T> TChaine LireFichier(PILE < TPoint3D <T> > pile);
template <class T> TChaine LireFichier(PILE < TPoint3D <T> > pile , TChaine Nomfichier);
// Ecriture :
template <class T> TChaine EcrireFichier(const PILE < TPoint2D <T> > & pile);
template <class T> TChaine EcrireFichier(const PILE < TPoint2D <T> > & pile , TChaine Nomfichier);
template <class T> TChaine EcrireFichier(const PILE < TPoint3D <T> > & pile);
template <class T> TChaine EcrireFichier(const PILE < TPoint3D <T> > & pile , TChaine Nomfichier);
/*------------------------------------------------------------------------------------
PILEs de segments (2D et 3D)
------------------------------------------------------------------------------------*/
// Lecture :
template <class T> TChaine LireFichier(PILE <Seg2D> pile);
template <class T> TChaine LireFichier(PILE <Seg2D> pile , TChaine Nomfichier);
template <class T> TChaine LireFichier(PILE <Seg3D> pile);
template <class T> TChaine LireFichier(PILE <Seg3D> pile , TChaine Nomfichier);
// Ecriture :
template <class T> TChaine EcrireFichier(const PILE <Seg2D> & pile);
template <class T> TChaine EcrireFichier(const PILE <Seg2D> & pile , TChaine Nomfichier);
template <class T> TChaine EcrireFichier(const PILE <Seg3D> & pile);
template <class T> TChaine EcrireFichier(const PILE <Seg3D> & pile , TChaine Nomfichier);