书上的一个例子编译不过.
C++ Templates一书有这样一小段例子:
- C/C++ code
template <int N>class X { public: typedef int I; void f(int) { }}; template<int N> void fppm(void (X<N>::*p)(typename X<N>::I)); int main() { fppm(&X<33>::f); // fine: N deduced to be 33}显然fppm函数没有函数体实现,但是为什么它的定义里面跟了两个小括号()? 函数定义的参数列表一般都是一个小括号的啊。
疑惑。
[解决办法]
头文件呢
[解决办法]
模板函数fppm的参数是一个函数指针, 函数指针的定义就有()
[解决办法]
[解决办法]