Pointeur sur une fonction template
Bonjour,
En gros j'ai le code suivant :
Code:
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 }
}; |
Bien evidement ça ne compile pas, j'ai l'erreur suivante :
Code:
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) |
Alors j'aimerais savoir comment faire donc pour faire ce pointeur vers un prototype de fonction template.
Merci.
Re: Pointeur sur une fonction template
Citation:
Envoyé par Progs
Bien evidement ça ne compile pas, j'ai l'erreur suivante
Ca ne me semble pas aussi évident que cela. En ajoutant ce qui manque, ça compile chez moi avec g++ et como.