je peux avoir un pointeur de fonction typedef dans une classe comme ceci:héritage pointeur de fonction typedef
template<typename T>
class MyClass
{
public:
typedef T (*fptr)(T);
void doSomething(fptr my_fptr) { /*...*/ }
};
et cela fonctionne très bien. mais si je hérite d'une telle classe, comme ci-dessous:
template<typename T>
class MyClass
{
public:
typedef T (*fptr)(T);
virtual void doSomething(fptr my_fptr) = 0;
};
template<typename T>
class MyOtherClass: public MyClass<T>
{
public:
void doSomething(fptr my_fptr) { /*...*/ }
};
le compilateur se plaint que fptr est indéfini. existe-t-il un moyen d'hériter de typedefs de pointeur de fonction comme ceci? merci, james
Quel compilateur utilisez-vous? La mienne ne s'en plaint pas. –
@Seb Rose: Je suppose que vous utilisez VS ... c'est un problème connu avec ce compilateur. Le code selon la norme ne devrait pas compiler. –
@dribeas - merci pour cela –