Probleme(s) sur les Template - C++ - Programmation
Marsh Posté le 08-12-2009 à 20:03:22
C'est normal le return <G> ligne 43?
Marsh Posté le 08-12-2009 à 22:21:12
on en mets pas le corps d'un template dans un .cpp mais dans un .h
Marsh Posté le 09-12-2009 à 09:43:58
Voici le .h
PS : La surcharge du constructeur fonctionne...
Code :
|
Marsh Posté le 09-12-2009 à 09:59:41
Ce que Joel dit, c'est que sauf cas particulier (voir http://www.bourguet.org/v2/cpplang/export.pdf), on est force de voir la definition des templates quand on les utilise. Donc on place la definition dans le .hpp -- directement ou indirectement, j'ai tendance a la mettre un .tpp qui est inclus dans le .hpp, tout comme mes definitions inline sont parfois dans un .ipp.
Seconde remarque, utiliser des chemins absolus dans les includes est une mauvaise idee. Utilise des chemins relatifs (et avec / comme separateur, ca marche sous Windows comme sous Unix) et indique les racines ou chercher a ton compilateur.
Marsh Posté le 09-12-2009 à 10:03:10
Pour les chemins c'est normal, on travail tous sur la même base T:
Mais c'est vrai que tu as raison !
Sinon je ne vois pas où il y a un problème, pour le faire je me suis calquer sur la MatriceG de fraction qui fonctionne très bien (sauf la persistance).
Edit : Le chemins sont absolue dans certain étant donnée qu'on utilise le versioning. j'avais zapper !
Marsh Posté le 09-12-2009 à 10:24:08
Alors, on y va y aller tres lentement:
Bien:
Code :
|
PAS Bien:
Code :
|
Code :
|
Marsh Posté le 08-12-2009 à 19:25:01
Bonsoir tout le monde,
j'ai une classe Fraction (qui fait partie d'un package Maths) que j'ai du passer en Template, maintenant elle s'appelle FractionG
Alors j'ai normalement fait toute les modification adéquate mais le test unitaire de mes surcharges =, ==, != ne fonctionne pas (en prenant l'exemple sur ma MatriceG).
Sinon pour les comparaisons sur des entiers je n'ai pas d'erreur mais il me sort "template class has already been defined" au build
PS : le code qui ne fonctionne pas est en commentaire.
voici le code FractionG_2.cpp :
Et voici mon test unitaire :
Merci beaucoup d'avance.
Philip Masse
Message édité par Philip Masse le 09-12-2009 à 09:42:39