[Résolu] Fonctions génériques et listes
Salut, j'ai fait une fonction générique qui permet d'afficher une liste d'éléments de type T, le problème est que mon compilateur me donne l'erreur suivante:
[Linker error] undefined reference to `void afficheListe<int>(std::list<int, std::allocator<int> > const&)'
voici le code source de mon prog
main.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| #include <iostream>
using std::cout;
#include <list>
using std::list;
template <typename T> void afficheListe (const list<T>& li);
int main()
{
list<int> li;
list<int>::iterator q;
q = li.begin();
q = li.insert(q, 4);
q = li.insert(q, 2);
q = li.insert(q, 9);
q = li.insert(q, 1);
afficheListe(li);
} |
fonc.cpp
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| #include<list>
using std::list;
#include<iostream>
using std::cout;
template <typename T>
void afficheListe (const list<T>& li)
{
typename list<T>::const_iterator p;
for (p = li.begin(); p != li.end(); p++)
{
cout << "[";
cout << *p;
cout << "] ";
}
} |
Compilateur: devc++ (ça ne marche pas non plus avec Visual C++)
:?: