Salut tout le monde !

J'ai développé le code suivant et ça ne compile pas, n'étant pas expert en template, je ne sais pas si c'est à cause d'un problème de syntaxe ou pas ... peut être pourrez vous m'aider.

Voici ce que j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
 
template<const char* Identifiant> struct Caster {};
 
template<> struct Caster<"Type1">
{
    static void Do()
    {
        // Action à faire
    }
};
 
template<> struct Caster<"Type2">
{
    static void Do()
    {
        // Action à faire
    }
};
 
int main(void)
{
    Caster<"Type1">::Do();
    return 0;
};
On n'a pas le droit d'utiliser les les const char* en temps que paramètre de template ? Est ce par ce qu'il test l'adresse et non pas le contenu de la chaîne ?

D'avance merci.