Bonjour,
je me demande s'il n'y a pas un bug dans la FAQ a propos des template ? accessible a cette url : http://c.developpez.com/faq/cpp/?pag...creation_class
voilà, je suis en train d'eviter de tout mettre dans mon header (enfin je cherche a bien séparer définition et déclaration), et comme j'ai des doutes sur la syntaxe je suis partie voir la FAQ... avant de venir pleurnicher ici (ce que je ne vais pas tardé a faire ).
et là, j'avoue que j'ai un serieux doute, quand je copie la déclaration de la classe Exemple dans un fichier "aaa.h"
et que je mets toutes les definitions (le reste, sauf le main) dans un fichier aaa.c
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #include <iostream> template <typename T> class Exemple { public : Exemple(const T& Val = T()); template <typename U> Exemple(const Exemple<U>& Copy); const T& Get() const; template <typename T2> friend std::ostream& operator <<(std::ostream& Stream, const Exemple<T2>& Ex); private : T Value; };
avec bien sur le "include" qui va bien, et bien ca ne compile pas sous VS6sp6.
a mon faible niveau j'ai réussi a compiler en changeant les lignes
suivantes :
voilà, est-ce un bug ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 template <typename T> //template <typename U> Exemple<T>::Exemple(const Exemple</*U*/>& Copy) : .....
avec ceet correction ca compile mais est-ce que ca focntionen comme prévu ? j'en sais rien je ne sais pas trop ce que c'est sensé faire (il me manque des explications pour mon niveau)
bon ensuite quand j'essaye de compiler le main, c'est pire...
Partager