Bonjour à tous, j'ai un problème de compilation avec cette fonction:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
template<typename T>
int read(int key, T & sortie) {
    switch(m_instructions.type) {
    case STRING:
        sortie = linesPart.front(); //retourne une string
        return (1);
    }
}
J'ai enlevé beaucoup de choses de cette fonction, j'espère que ça suffit pour comprendre.
linesPart.front(); retourne une string. Le compilateur me jette en disant:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
cannot convert ‘std::basic_string<char, std::char_traits<char>, std::allocator<char> >’ to ‘int’ in assignment
d'ou sort ce int ? Pourquoi je ne peux pas mettre une string dans sortie alors que le compilateur ne sait même pas quelle type elle a ?

Je pensais que ces vérifications se faisaient à l'éxécution, je ne comprend pas pourquoi ça plante à la compilation.

Merci d'avance de votre aide