Templates [ANSI C++] - C++ - Programmation
Marsh Posté le 11-12-2003 à 23:32:27
donne du vrai code. et oublie pas les ;
Foo est token invalide
Foo<Bar> est valide
Marsh Posté le 12-12-2003 à 02:43:47
Les ; corriges sur le post initial ..
Finalement, ca marche bien .. le pb etait une erreur de syntaxe sur le nom (tres long a l'origine) de mon template.
Voici ce que j'ai essaye de faire pour ref:
Code :
|
Code :
|
Code :
|
Marsh Posté le 12-12-2003 à 12:39:23
#define BAR_H
penses au nombre de mec qui ont écrit BAR_H
il te faut un truc assez unique, donc une grosse combinaison > 10caractères nom/projet/date/fichier
Marsh Posté le 12-12-2003 à 18:51:21
Heu .. c'etait un exemple rapide pour illustrer le propos
Sinon tu utilises rien pour distinguer tes membres prives ?
Marsh Posté le 12-12-2003 à 18:55:50
si mais pas une notation source d'erreur. un my, m, ou autre est peut être préférable et c'est beaucoup plus esthétique.
va voir les tutoriels, et conclue en qu'il vaut mieux utiliser "typename" que "class"
Marsh Posté le 12-12-2003 à 18:59:27
Taz a écrit : si mais pas une notation source d'erreur. un my, m, ou autre est peut être préférable et c'est beaucoup plus esthétique. |
J'avais lu un truc comme ça effectivement, maintenant je le fais par réflexe, mais quelle en est la raison ?
"class" ça englobe aussi ce qui n'en est pas (types primitif, structs) il me semble non ?
Marsh Posté le 12-12-2003 à 19:03:34
non.
typename a plus le nom de l'emploi, et malgré l'équivalence pour les situations de bases, class a un rôle et une signification particulière dans le cas de paramètre template template
Marsh Posté le 12-12-2003 à 22:08:56
Bon .. c'est la deuxieme fois que je vois tutos .. mais lesquels ??
Taz, me manges pas, j'aime bien les Taz
Marsh Posté le 11-12-2003 à 23:20:24
Essayons d'utiliser du standard tout au long de ce topic.
g++ sera le compilateur de reference.
Je suis habitue a l'Ansi C mais je vois les avantages de l'OO en particulier la force des templates.
Malheureusment, j'ai toujours un peu de mal avec.
Mon pb actuel, c'est comment declarer des objets specifies de templates.
J'ai une class template nommee
Ailleurs, je peux declarer
tant en argument de fonction que dans le main.
Cependant, quand je le mets dans la partie privee d'une autre classe, le compilateur m'insulte avec
FooBar.h:101: error: 'Foo' is used as a type, but is not defined as a type.
Quel est le bleme ??
Message édité par iraysyvalo le 12-12-2003 à 02:23:49