Bonjour,
En gros j'ai le code suivant :
Bien evidement ça ne compile pas, j'ai l'erreur suivante :
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 template<typename T> static ECBCase* CreateCase(int x) { return new T; } static struct { char c; ECBCase* (*func) (int); uint flags; } case_type[] = { { 'v', CreateCase<ECBVille>, C_VILLE }, { 'V', CreateCase<ECBVille>, C_VILLE|C_CAPITALE }, { 'm', CreateCase<ECBMer>, C_MER }, { 't', CreateCase<ECBTerre>, C_TERRE }, { 'p', CreateCase<ECBPont>, C_PONT } };
Alors j'aimerais savoir comment faire donc pour faire ce pointeur vers un prototype de fonction template.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Map.cpp:48: erreur: no matches converting function 'CreateCase' to type 'class ECBCase* (*)(int)' Map.cpp:32: erreur: candidates are: template<class T> ECBCase* CreateCase(int)
Merci.
Partager