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

函数名称就是函数地址吗?请问一下

2012-04-15 
函数名称就是函数地址吗?请教一下编译环境是VC2008.下面的程序编译不通过.请教请教问题说在.#ifndef fun_a

函数名称就是函数地址吗?请教一下
编译环境是VC2008.下面的程序编译不通过.请教请教问题说在.

#ifndef fun_addr_h
#define fun_addr_h


class Cbase
{
public:
typedef void (Cbase::*Cbase_fun_addr)(const int *); //oops 红杏出墙
Cbase(Cbase_fun_addr initial): my_fun_addr(initial)
{}
virtual ~Cbase()
{}
private:
Cbase_fun_addr my_fun_addr;
};

class Cderive : public Cbase
{
private:
int myCderiveCtr;
public:
Cderive() : Cbase((Cbase_fun_addr)initial) //这句编译不通过
//Cderive() : Cbase((Cbase_fun_addr)&Cderive::initial) //修改成这样就可以了.为什么?
//Cderive() : Cbase((Cbase_fun_addr)Cderive::initial) //这句编译不通过
{}
void initial(const int /** a*/)
{
myCderiveCtr = 0/** (*a)*/;
}
};

#endif // fun_addr_h






//main:
#include "fun_addr.h"

static Cderive derive; //oops

int main(int argc, char* argv[])
{
return 0;
}




[解决办法]
Cderive() : Cbase((Cbase_fun_addr)&Cderive::initial) //修改成这样就可以了.为什么?
标准上语法规定 记住即可
[解决办法]
楼主看下这个贴上的几个例子:

http://topic.csdn.net/u/20120313/09/bedb53e2-7bed-4b7b-9b8f-314a6a126bea.html

热点排行