Bonjours, je rencontre pas mal de probleme pour la creation d'une liste generique.
En effet, je n'arrive pas a declarer une des classes en tant qu'amie.
Voila mon code :
A la compilation, les premieres erreurs (dont decoulent les autres je pense ^^) est :
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
23
24
25
26
27
28
29
30
31
32
33
34 template <typename T> class maillon{ friend class List<T>; private: T value; maillon<T> *next; public: maillon():next(NULL){} maillon(const maillon<T> &m):next(NULL), value(m.value){} ~maillon(); maillon<T> &operator=(const maillon<T> &m){ next = m.next; value = m.value; return *this; } }; template <typename T> class List{ friend class maillon<T>; private: maillon<T> *first; maillon<T> *last; public: List(); List(const List &); ~List(); List &operator=(const List<T> &); List<T>& operator+(const maillon<T> &); List<T>& operator+(const List<T> &); void my_free(); void printList(); void addTail(T); };
In file included from main.cpp:1:
list.h:11: erreur: « «List» » n'est pas un modèle # en particulier celle la !
list.h: In instantiation of «maillon<int>»:
list.h:133: instantiated from «void List<T>::addTail(T) [with T = int]»
main.cpp:6: instantiated from here
list.h:9: erreur: template argument required for «struct List»
merci d'avance pour votre aide
Partager