首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

书上的一个例子编译不过.解决方案

2012-06-05 
书上的一个例子编译不过.C++ Templates一书有这样一小段例子:C/C++ codetemplate int Nclass X {public:

书上的一个例子编译不过.
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的参数是一个函数指针, 函数指针的定义就有()
[解决办法]
探讨
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));
……

[解决办法]
探讨

引用:
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));
……
……

热点排行