我可以有一個typedef函數指針在這樣的類:的typedef函數指針繼承
template<typename T>
class MyClass
{
public:
typedef T (*fptr)(T);
void doSomething(fptr my_fptr) { /*...*/ }
};
,這工作得很好。但如果我從這樣的類繼承,如下所示:
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) { /*...*/ }
};
編譯器抱怨說fptr是未定義的。有沒有繼承這樣的函數指針typedefs的方法?謝謝, james
你使用什麼編譯器?我不會抱怨這個。 – 2010-08-12 15:02:04
@Seb Rose:我猜你正在使用VS ...這是該編譯器的已知問題。根據標準的代碼不應該編譯。 – 2010-08-12 15:07:57
@dribeas - 感謝那 – 2010-08-12 15:19:52