请教如何根据地址调用函数

jzgunking 2005-11-02 08:11:33
void print()
{
cout << "OK" <<endl;
}

void (*DRV)();

void main()
{
int a = 0;
a = *(int const *)print;

下面如何根据a来调用print()函数?
...全文
227 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
jzgunking 2005-11-02
  • 打赏
  • 举报
回复
谢谢我就是想要这个
wanguodu 2005-11-02
  • 打赏
  • 举报
回复
你是不是要这个?
int a = 0;
a = (int)print;

DRV = (void (*)()) (a);
(*DRV)();
jzgunking 2005-11-02
  • 打赏
  • 举报
回复
也就是print()把地址穿给a,DRV()再根据a中的print()的地址来达到
DRV = print的效果
jzgunking 2005-11-02
  • 打赏
  • 举报
回复
我希望能通过a来向初始化DRV()
codearts 2005-11-02
  • 打赏
  • 举报
回复
没看明白
是:

DRV = print;
DRV();
这种方式吗?

69,777

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧