我正在尝试在C++中声明一个模板函数指针。
template <class T>
class MyClass
{
public:
typedef const unsigned char* (T::*MyTemplatedEvent)(unsigned long &myParameter);
};
但是由于某些原因,我一直收到这个错误:
'T':在'::'之后必须是一个类或命名空间
有人能告诉我我做错了什么吗?
编译器应该知道T是一个类。它在MyClass声明上说了...
T::
前面加上typename
。让我检查一下。 - chrisstd::function
,您就不会遇到这个问题。 - Puppy