我刚刚开始使用C++,所以很抱歉,如果这是一个新手问题。我在网上搜索了所有内容,但没有发现任何关于此的内容。其实我当时甚至不知道如何制定我的搜索...C++函数指针作为模板
我看到这个代码的地方:
template <class T>
struct SomeStruct
{
SomeStruct() {}
};
后来,这样的:
int main()
{
SomeStruct<void (Foo::*)(int test)> mStruct;
}
以上编译就好了。所以如果我正确地理解它,“void(Foo :: *)(int test)”是一个函数指针,它指向Foo中的某个函数,并将int作为参数并返回void。
这怎么可能是“T类”参数的合法参数?
任何帮助,将不胜感激。
那么,有时你别无选择,只能使用第一种形式,但要点。 – AndyG