ou alors j'y comprends rien (bonne reponse de ....)
Bon, en fait, c'est un pote qui m'a pose cette question ce matin et je comprends rien !
Le bleme :
commencons par le code :
Code :
- #include <iostream>
- template<class T>
- class essaiTemplate{
- private:
- T toto;
- public:
- essaiTemplate();
- essaiTemplate(const T);
- T rendToto();
- void ditBonjour();
- };
- template<class T> essaiTemplate<T>::essaiTemplate(){}
- template<class T> essaiTemplate<T>::essaiTemplate(const T param) {
- toto=param;
- }
- template<class T> T essaiTemplate<T>::rendToto(){
- return toto;
- }
- template<class T> void essaiTemplate<T>::ditBonjour(){
- cout << "Bonjour" << endl;
- }
- int main(){
- essaiTemplate<double> essai();
- essaiTemplate<int> essai2(4);
- cout << essai2.rendToto() << endl;
- essai2.ditBonjour();
- essai.ditBonjour();// cette ligne ne passe pas a la compilation
- return 0;
- }
|
voila le compilo sort :
Citation :
essaiTemplate.cpp: In function `int main()':
essaiTemplate.cpp:41: request for member `ditBonjour' in `essai', which is of non-aggregate type `essaiTemplate<double> ()()'
|
Fo dire que ca fait un bail que j'ai pas touchee aux templates (ni au C++), mais la ca m'intrigue ...
Message édité par bobuse le 04-03-2003 à 10:13:09
---------------
get amaroK plugin