j'ai un petit souci avec une fonction template. Voilà mon code, sachant
que TreeFactory<T, U>::Tree est un typedef sur boost::variant<int,
Node*, Leaf*>, Node et Leaf étant des classes définies dans
TreeFactory<T, U>...
Mon problème est qu'à la compilation (gcc 4.0.4 20060507 prerelease),
j'obtiens l'erreur suivante :
test.cpp:42: erreur: no matching function for call to 'stream_tree(std::ostream&, boost::variant<twotypestree::Tree_Placeholder, twotypestree::TreeFactory<int, float>::Node*, twotypestree::TreeFactory<int, float>::Leaf*>&)'
(en fait, le variant comprend encore une tripotée d'argument template,
mais j'ai coupé)
Et je ne vois pas ce qui manque pour qu'il trouve ladite fonction, a
priori pourtant sous son nez.
Confusément,
Nowhere man
--
nowhere.man@levallois.eu.org
OpenPGP 0xD9D50D8A
Toutes mes excuses, j'ai lu les messages d'erreur trop vite, sans faire vraiment attention aux numéros de ligne. Le problème était bien sûr que j'appelais stream_tree(...) au lieu de stream_tree<T,U>(...).
Honteusement, Nowhere man --
OpenPGP 0xD9D50D8A
Le Fri, 02 Jun 2006 22:48:52 +0200, Pierre THIERRY a écrit :
Toutes mes excuses, j'ai lu les messages d'erreur trop vite, sans faire
vraiment attention aux numéros de ligne. Le problème était bien sûr que
j'appelais stream_tree(...) au lieu de stream_tree<T,U>(...).
Honteusement,
Nowhere man
--
nowhere.man@levallois.eu.org
OpenPGP 0xD9D50D8A
Toutes mes excuses, j'ai lu les messages d'erreur trop vite, sans faire vraiment attention aux numéros de ligne. Le problème était bien sûr que j'appelais stream_tree(...) au lieu de stream_tree<T,U>(...).