Salut à tous,

Pour expliquer mon problème voici le code qui me pose problème:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
 
class CBase
{
public:
    template <class T>
    T get(std::string str)
    {
        if (str == "un") return 42;
        if (str == "deux") return std::string("test");
    }
}
Lorsque je fais...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
 
CBase unTest;
int i = inTest.get<int>("un");
...le code ne veut pas compiler car (dans ce cas) la conversion d'un string en int est impossible, malgré le fait que i soit un int et que la fonction get doive me retourner un int (puisque int est le parametre template)

Y a-t-il un moyen de parvenir a faire cela ?