Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1345 connectés 

  FORUM HardWare.fr
  Programmation
  C++

  Soucis avec un template...

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Soucis avec un template...

n°725268
spotaszn
Posté le 13-05-2004 à 22:24:39  profilanswer
 

Bonjour ! Vous allez peut-être pouvoir m'aider... J'ai deux classes :
 

Code :
  1. template<typename TYPE> class Template {
  2. public:
  3. TYPE member;
  4. };
  5. class Plop {
  6. public:
  7. Template<Plop> monplop;
  8. };


 
Mon problème est que mon compilateur (MinGW) me crie dessus car je veux utiliser la classe "Plop" pour déclarer le membre "monplop" alors que "Plop" n'est pas encore complètement définie... C'est ma foi très logique mais existe-il un moyen de lui faire accepter cet état de fait ?
Merci d'avance...
 
 
  -- Spotaszn --

mood
Publicité
Posté le 13-05-2004 à 22:24:39  profilanswer
 

n°725281
Taz
bisounours-codeur
Posté le 13-05-2004 à 22:31:30  profilanswer
 

t'es marrant toi, tu lui dis que pour faire un Plop, il te fait un Template (sale nom d'ailleurs) avec un Plop ... en somme qu'un Plop, c'est un Plop, etc ...
 
avec un Template<Plop> *monplop; ou une référence, tu peux faire ce que tu veux, puisque le compilateur sait alors quelle taille allouée pour un plop

n°725288
spotaszn
Posté le 13-05-2004 à 22:38:46  profilanswer
 

Merci d'avoir répondu, et c'est vrai qu'après avoir relu cette "version simplifiée" de mon problème, il est évident que je demande de compiler un truc impossible. C'était moins évident lorsque j'ai rencontré ce problème... Tant pis ! C'était pour éviter de passer par un pointeur... M'enfin...
 
 
  -- Spotaszn --

n°725290
Taz
bisounours-codeur
Posté le 13-05-2004 à 22:43:20  profilanswer
 

tu veux faire quoi ?

n°725291
spotaszn
Posté le 13-05-2004 à 22:49:17  profilanswer
 

Code :
  1. template<typename TYPE> class MonTemplate {
  2. public:
  3. struct NODE {
  4.  TYPE element;
  5. };
  6. class Pointeur {
  7.  NODE* ploup;
  8. };
  9. };
  10. class Plop {
  11. public:
  12. MonTemplate<Plop>::Pointeur  monplop;
  13. };


 
Pourquoi ça ne se compile pas, ça ???? :'(
"MonTemplate<Plop>::Pointeur" a une taille parfaitement connue...
 
-- EDIT : y'a une majuscule qui n'apparaît pas... mais elle est bien là, à "Pointeur"...
 
  -- Spotaszn --


Message édité par spotaszn le 13-05-2004 à 22:50:48
n°725292
spotaszn
Posté le 13-05-2004 à 22:55:05  profilanswer
 

Bon, MinGW compile... C'est juste VC++6 qui est naze, pour le coup... Grrr !!!!! En plus, je savais que les templates étaient mal supportés...
 
 
  -- Spotaszn --

n°725294
Taz
bisounours-codeur
Posté le 13-05-2004 à 22:56:55  profilanswer
 

t'es chiant avec tes noms à la con :o tu veux faire quoi ? une liste ?
 
aucun problème chez moi. si tu veux faire une liste (sans utiliser std::list), dis le que je te montre comment on fait en C++, parce que là, t'as une approche C

n°725298
Taz
bisounours-codeur
Posté le 13-05-2004 à 22:59:35  profilanswer
 

utilise mingw ou crack une version plus récente de VC++

n°725302
spotaszn
Posté le 13-05-2004 à 23:01:33  profilanswer
 

Taz a écrit :

t'es chiant avec tes noms à la con :o tu veux faire quoi ? une liste ?
 
aucun problème chez moi. si tu veux faire une liste (sans utiliser std::list), dis le que je te montre comment on fait en C++, parce que là, t'as une approche C


 
En gros, c'est une liste... Ca ressemble à std::list car j'ai pas mal pioché dedans... Et mon "approche C" vient du fait que... que je ne suis pas un intégriste du C++...  :)
 
  -- Spotaszn --

n°725306
Taz
bisounours-codeur
Posté le 13-05-2004 à 23:04:02  profilanswer
 

ok, comment on fait une liste en C++ ?
 
 

Code :
  1. template<typename T>
  2. class Liste
  3. {
  4.   struct Chainon
  5.   {
  6.     T element;
  7.     Chainon *suivant;
  8.    };
  9.   Chainon *tete;
  10.   public: // à partir d'ici, personne ne doit savoir que Chainon existe
  11. };
  12. //utilisation
  13. Liste<int> l;
  14. l.ajouter(3);

mood
Publicité
Posté le 13-05-2004 à 23:04:02  profilanswer
 

n°725307
spotaszn
Posté le 13-05-2004 à 23:05:32  profilanswer
 

Code :
  1. class Toto {
  2. std::list<Toto>::iterator it;
  3. };


 
en fait, ça ne passe pas non plus, ça me rassure... :)
 
  -- Spotaszn --

n°725310
spotaszn
Posté le 13-05-2004 à 23:08:01  profilanswer
 

En fait, je veux faire une liste d'objets qui contiennent chacun, en plus de que quelques trucs, un "iterator" de cette même liste...
 
  -- Spotaszn --

n°725312
Taz
bisounours-codeur
Posté le 13-05-2004 à 23:08:26  profilanswer
 

???????

n°725316
spotaszn
Posté le 13-05-2004 à 23:14:06  profilanswer
 

Code :
  1. class Toto {
  2.   float                     une_valeur1;
  3.   float                     une_valeur2;
  4.   std::list<Toto>::iterator un_iterator_de_toto;
  5. };
  6. std::list<Toto> maliste_de_toto;


 
Je ne pourrais pas faire plus clair... Et puis comme j'ai dit, c'est juste une faiblesse de VC++6... Dommage pour moi !  :(
 
 
  -- Spotaszn --

n°725321
Taz
bisounours-codeur
Posté le 13-05-2004 à 23:16:21  profilanswer
 

ben ça marche, mais cai chiatique, vu que tes iterator vont en prendre plein les dents quand tu va modifier maliste_de_toto

n°725324
spotaszn
Posté le 13-05-2004 à 23:19:25  profilanswer
 

Taz a écrit :

ben ça marche, mais cai chiatique, vu que tes iterator vont en prendre plein les dents quand tu va modifier maliste_de_toto


 
T'en fais pas pour ça, j'utilise pas les std::list. Mes listes bricolées supportent bien ce "bidouillage"...
Merci pour ton aide... même si j'aurais plutôt besoin d'un vrai compilo ! :)
 
  -- Spotaszn --


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  C++

  Soucis avec un template...

 

Sujets relatifs
[PHP] Template IPBpetit soucis de mailform...qui peut m'aider?
[C++/Template] Problème d'organisation des fichiers ?Petit soucis avec manipulation fichier + chaine de caractères - VB
[Mozilla 1.6]Soucis de centrage sur mon site :??:mettre des template dans rational rose
Petit soucis en SQLSoucis avec variable et espace
petit soucis de présentation lié à la résolution[HTML/JS] petit soucis d'espace sous une image
Plus de sujets relatifs à : Soucis avec un template...


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR