Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : template [ Archives / Au secours ] (payen)

jeudi 13 mai 2004 à 16:21:27 | template

payen

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);

vendredi 14 mai 2004 à 00:32:47 | Re : template

djl


ta vu ce que ta ecris?

// 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);

pourquoi tu specifie template <class T> ?

vendredi 14 mai 2004 à 01:24:17 | Re : template

payen

merci, j'ai vu cette erreur, mais ca me met toujours un message d'erreur ... les memes : C2995 et C2954 (cf. 1er post)

vendredi 14 mai 2004 à 07:02:48 | Re : template

djl


j'avou que c'est tres bizar

tu les definie ou les fonctions templates?

a la limite ne les declare pas, c'est pas plus mal vu que de toute facon elles doivent etre definies dans un entete

vendredi 14 mai 2004 à 11:22:26 | Re : template

payen

j'ai un .h avec toutes les declarations (le 1 er post), et un .cpp avec les definitions. rien ne passe. j'aimerais bien y arriver qd meme !

vendredi 14 mai 2004 à 19:15:25 | Re : template

djl


tu ve dire que tu definie les fonction template dans les .cpp?

ben ca passera jamais ca, les templates ca amene une succesion de controle statique, ca peut pas etre compilé separement

fait comme j'ai dit

"...de toute facon elles doivent etre definies dans un entete "

et tien moi au courant, pour moi il n'y a pas collision de nom, ces fonction sont toutes differentes et pour etre sur j'ai testé avec g++

vendredi 14 mai 2004 à 19:35:22 | Re : template

payen

ben ecoute, j'ai essaye aussi avec les definitions dans le .h, et rien a faire, ca passe pas ... ca viendrait du compilo (VC6) ???

sinon, j'ai "resolu" le pb en surchargeant, mais ca oblige a definir plein de fonctions et c'est pas super elegant. je reste donc preneur d'infos.

merci

vendredi 14 mai 2004 à 20:06:44 | Re : template

djl


c'est possible, vc++ 6.0 n'est pas 100% compatible avec le standard c++ et je crois meme que les probleme viennent surtout des templates

une solution, utilise devcpp ou vc++ 2003 ou le service pack de vc6 (ca je suis pas sur)

jeudi 16 juin 2005 à 14:59:14 | Re : template


Cette discussion est classé dans : template, pile, nomfichier, tchaine, lirefichier


Répondre à ce message

Sujets en rapport avec ce message

classe template et list stl ou pile [ par abdoulax ] Boujour, Je voudrai créer une liste de classe contenant un template, comment puis je faire ?? list>   //c'est pas possible et en ce qui concerne la template- au secours [ par toddy_101 ] bonjour tout le monde, j'ai un probleme au niveau des templates, ca bloke au niveau du linkage!! voici la declaration de la classe , et des methodes: aide pour un debutant qui ne trouve pas la solution [ par ledruid ] Bonjour, Etant etudiant et plus tout jeune ( debutant), j'ai un exercice a faire et je ne trouve pas la solution, je vous communique mon probleme, e Template, pile et affichage ! [ par seven333 ] voici mon fichier de déclaration #include #include template class Pile {     int n_elem;     int *adresse; calculatrice en C avec pile [ par tototiti ] Template, surdéfinition d'opérateur et héritage ! [ par neodelphi ] Bonjour tout le monde ! pour un projet perso j'ai codé un template vector dans lequel on spécifi la dimension du vecteur (ce qui donne par exemple ve Probleme de template... [ par abdoulax ] J'ai un problème bizar bizar que j'ai montré à mon prof de c++ qui n'a pas réussi à résoudre ^^. Voici ci-joint le lien de mon code: http://abdoulax. Afficher la pile d'exécution [ par GrosTony ] Salut,Je voudrais savoir s'il était possible en C/C++, d'afficher la pile d'exécution, comme par exemple avec la commande where dans gdb après une seg Template et singleton: problème d'utilisation [ par neodelphi ] Bonjour ! Je viend de découvrir le modèle des singleton car j'en avait besoin pour mon projet. J'ai donc écrit un template classique de singleton, pui Unresolved external symbol [ par neodelphi ] Bonsoir, c'est encore moi et mes problèmes de c++ !Je vais essayer de faire cour:J'ai une classe template dans un fichier .hpp (déclaration & code). C


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.