您的位置:首页 > 其它

typedef 在类里面定义一个类型时的问题。

2010-12-27 12:32 369 查看
博客转移至:http://kulv.sinaapp.com/?p=28



class Test

{

public:

 typedef int ( func )( void );//定义一个函数指针类型,

 int print(void) { return 0 ;} ;//下面的错误中,

     //如果把print函数定义为friend 或者static的,就可以了。但是无法满足我的要求

 func p ;//声明一个函数指针

 void init() {

  p = print ;//在这里给函数指针变量p赋值,赋的是本类的print函数地址。

  //但是这句总是出错

 }

};

int main(){

 cout <<"why"<< endl ;

 return 0 ;

}

 

上面有错,改正如下:

1. static  int print(void) { return 0 ;} ;//

2. friend int print(void) { return 0 ;} ;//

 

3. class Test

{

public:

 typedef int ( Test::*func )( void );//定义一个函数指针类型,
 int print(void) { return 0 ;} ;//下面的错误中,

     //如果把print函数定义为friend 或者static的,就可以了。但是无法满足我的要求

 func p ;//声明一个函数指针

 void init() {

  p = print ;//在这里给函数指针变量p赋值,赋的是本类的print函数地址。

  //但是这句总是出错

 }

};

int main(){

 cout <<"why"<< endl ;

 return 0 ;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  class
相关文章推荐