Указатель члена на функцию внутри класса шаблона выдает ошибку: должен быть класс или пространство имен, за которым следует '::'

Я пытаюсь объявить указатель на шаблонную функцию в C++.

template <class T>
class MyClass
{
public:
    typedef const unsigned char* (T::*MyTemplatedEvent)(unsigned long &myParameter);
};

но по какой-то причине я продолжаю получать эту ошибку:

'T': должно быть классом или пространством имен, если за ним следует '::'

Может ли кто-нибудь сказать, что я делаю неправильно?
компилятор должен знать, что T — это класс. Так сказано выше объявления MyClass...

6
задан iammilind 2 June 2012 в 14:31
поделиться