Pointeur de fonction membre template
Bonsoir,
Petit problème pour utiliser un pointeur de fonction membre template. VOilà le code qui me pose problème :
Code:
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 <class Derived> class FSM {
template <
class Event,
int NextState,
void (Derived::*action)(const Event&),
bool (Derived::*guard)(const Event&) = &Derived::true_ //<=Ligne qui pose problème
>
struct transition {
//...
};
...
};
class MyFSM : public FSM<MyFSM> {
//...
template <class Event>
bool true_(const Event& e) {return true;}
}; |
Lors de la compilation, j'ai l'erreur suivante à la ligne qui pose problème :
incomplete type MyFSM used in nested name specifier
Je pense que cela vient du fait que ma fonction true_ est une fonction template et qu'il faut le spécifier au compilo, malheureusement je ne sais pas si cela est possible, et si oui quelle est la syntaxe à utiliser.
Merci d'avance :p