Produit du jour : LeapPad : Winnie est trop gourmand à partir de 17.00 € (Logiciel)
Bonjour,

Je ne comprends pas pourquoi le code suivant ne compile pas (g++ rale car il
ne trouve soit disant pas Test<int>::Test() et Test<int>::~Test() au
linkage).


//main.cpp

#include "test.h"

//marche si j'inclu le test.cpp ici
//mais ca ne me parait pas tres élégant...


int main()
{
Test<int> t;

return 0;
}



//test.h

#ifndef TEST_H
#define TEST_H

template<class T> class Test
{

public:
Test();
~Test();

};

#endif





//test.cpp

#include "test.h"
#include <iostream>

template<class T>
Test<T>::Test()
{
T t;
std::cout << "Test()\n";
}

template<class T>
Test<T>::~Test()
{
std::cout << "~Test()\n";
}


Merci.

Nicolas.
Voir les 9 réponses - Poster une réponseCe sujet ne répond pas à vos besoins ? Posez votre question !
mots-clés : template, erreur Catégories : Développement, Langage C++
 
fstream vs fopen ?
heritage et template
 

 

Téléchargements

Tous les téléchargements