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

  FORUM HardWare.fr
  Programmation
  C++

  Probleme de compilation avec les templates

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Probleme de compilation avec les templates

n°160810
Replouf66
Posté le 17-06-2002 à 14:38:40  profilanswer
 

j'utilise visual.net.
 
j'ai fait une classe en utilisant les templates
 
et quand j'utilise la classe en question g une erreur lors de l'edition des liens.
 
voici a quoi ressemble le code
de la class:
 
template<class TypeVal>
maClass<TypeVal>::maClass(TypeVal v){
  val = v;
}
 
 
de la fonction main:
maClass<int> *m = new maClass<int>(v);
 
l'erreur:
 
test error LNK2019: symbole externe non résolu "public: __thiscall maClass<int>::maClass<int>(int)" (??0?$maClass@H@@QAE@H@Z) référencé dans la fonction _main

mood
Publicité
Posté le 17-06-2002 à 14:38:40  profilanswer
 

n°160868
LetoII
Le dormeur doit se réveiller
Posté le 17-06-2002 à 15:05:15  profilanswer
 

Il est bizard le code de ta classe.
 
J'aurais plutôt vu un truc du genre:

Code :
  1. template<class T> MaClasse
  2. {
  3.   public:
  4.            MaClasse(T v) : valeur(v){} //ou MaClasse(T v)
  5.                                        //    {
  6.                                        //      valeur = v;
  7.                                        //    }
  8.   private:
  9.            T valeur;
  10. };


---------------
Le Tyran
n°160998
Replouf66
Posté le 17-06-2002 à 16:11:14  profilanswer
 

oui dans le .h c'est comme ça la c'est un extrait du .cpp

n°161012
LetoII
Le dormeur doit se réveiller
Posté le 17-06-2002 à 16:17:55  profilanswer
 

Ben voilà, pas de cpp avec les template, tu met tout dans le .h


---------------
Le Tyran
n°161019
Replouf66
Posté le 17-06-2002 à 16:19:42  profilanswer
 

merci
 
c quand meme bizarre a la fac nous appris a faire un .c
je pige plus :heink:

n°161043
LetoII
Le dormeur doit se réveiller
Posté le 17-06-2002 à 16:27:52  profilanswer
 

C le cas particulier tu template.
 
Chaque fois que tu instencie une classe ou une fonction template le compilo crée un nouveau bout de code puis le compile, il ne peut donc pas y avoir de cpp car il est impossible de précompiler des template. C'est clair ou pas? Non par ce que j'ai un peu de mal à m'expliquer clairement là, je le sent :D


Message édité par LetoII le 17-06-2002 à 16:28:10

---------------
Le Tyran
n°161067
Replouf66
Posté le 17-06-2002 à 16:36:54  profilanswer
 

j'ai compris le truc j'ai arrangé le probleme grace a toi  :jap:  
 
c'est juste que j'ai ressorti un bout de code qu'un prof m'avait passé quand j'était à la fac et y'a un .h et un .cc c'est surtout ça qui me perturbe.(c'etait du c et pas du c++ et en plus sous linux)
 
encore merci pour ton aide. :)

n°161095
LetoII
Le dormeur doit se réveiller
Posté le 17-06-2002 à 16:53:28  profilanswer
 

De rien


---------------
Le Tyran
n°161452
Musaran
Cerveaulté
Posté le 18-06-2002 à 00:25:02  profilanswer
 

Les templates pourront être mis dans un source compilable quand le mot-clé export sera reconnu.
 
En attendant, c'est dans l'en-tête...


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone
n°161458
kadreg
profil: Utilisateur
Posté le 18-06-2002 à 00:42:37  profilanswer
 

Certains compilateur supportent la compilation séparé de templates (notamment xlC, avec une sombre histoire de .ptrepository) .
 
Personnellement, je met implémentation et interface dans des fichiers différents, mais je mais un  
 
#include "implementation.cpp"  
 
à la fin du .h pour garder le fait de séparer interface et implémentation, comme les autres classes.


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
mood
Publicité
Posté le 18-06-2002 à 00:42:37  profilanswer
 

n°161575
Replouf66
Posté le 18-06-2002 à 11:03:29  profilanswer
 

c toujour bon à savoir merci pour ces infos :)

n°170230
Musaran
Cerveaulté
Posté le 03-07-2002 à 04:33:13  profilanswer
 

Effectivement, j'ai appris qu'il existe des compilateurs supportant export.
Là: http://forum.hardware.fr/forum2.php3?post=22133&cat=10


---------------
Bricocheap: Montage de ventilo sur paté de mastic silicone

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

  Probleme de compilation avec les templates

 

Sujets relatifs
[ PHP ] Probleme pour systeme de News (DATE)Problème de java sur un page html.... et j'ai rien fait de mal !!
Problème de java sur un page html....Probleme MySQL & PHP
[Pop-up] Nouveau problème, voir en bas !Problème avec Hit parade et Xiti pour mon site, licone ne clignote pas
problème de constructeur sous vcProblème: passage de paramètres
Probleme d'insertion d'un wav [MFC]!!!!!!!!!!!!!!!!!!problème de copier de dataset en delphi
Plus de sujets relatifs à : Probleme de compilation avec les templates


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