Cethywolf
Messages postés21Date d'inscriptionjeudi 5 janvier 2006StatutMembreDernière intervention23 juillet 2006
-
2 mai 2006 à 14:58
Cethywolf
Messages postés21Date d'inscriptionjeudi 5 janvier 2006StatutMembreDernière intervention23 juillet 2006
-
2 mai 2006 à 18:22
Voilà, j'ai une fonction template qui fonctionne très bien toute seule, mais dés que je l'inclue dans une classe, j'ai une erreur de spécialisation ...
Le header de ma classe (avec les includes) : #include "..\C_CommunicationMySQL\C_CommunicationMySQL.h"
#include "..\Structures\Structures.h"
Le corps du template : template <typename T> string C_CommSysSqlMS::to_string(const T &Value)
{
stringstream streamOut;
streamOut << Value;
return streamOut.str( );
}
Appel de la fonction template :
string s=to_string(10); // exemple
Erreur : error C2893: Failed to specialize function template 'class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char>
> __thiscall C_CommSysSqlMS::to_string(const T &)'
With the following template arguments:
'int'
Voilà, si quelqu'un peut me dire se qui ne va pas, ca m'aiderais beaucoup !
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 2 mai 2006 à 15:40
Salut.
Ta fonction to_string(const T & value) appartient à la classe C_CommSysSqlMS, tu ne peut donc pas l'appelle directement comme tu le fait avec string s=to_string(10);
cs_laurent1024
Messages postés987Date d'inscriptionmardi 31 mai 2005StatutMembreDernière intervention30 août 201225 2 mai 2006 à 16:26
Dans quelle classe appelles -tu ce "string s=to_string(10);" ?? Car si c'est dans la classe C_CommSysSqlMS il faut definir a un moment que le type T c'est un entier