Templates et specialisation
Bonjour,
J'ai le code suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| template<typename T>
T FromString(const std::string & Str, bool & Res)
{
T Dest = T();
std::istringstream iss( Str );
Res = iss >> Dest != 0;
return Dest;
}
template<>
bool FromString<bool>(const std::string & Str, bool & Res)
{
bool Dest = false;
// Trucs differents
return Dest;
} |
Pb, vraisemblablement à cause de la signature, j'obtiens des pbs au link (code déjà défini).
Comment faire dans une situation pareille lorsque le type de template n'apparait pas en passage de paramètres ?
Je veux pouvoir faire des
int toto = FromString<int>(...);
bool toto = FromString<bool>(...);
La bonne fonction étant automatiquement appelée...
Merci pour vos remarques