将函数分配给函数指针 [英] Assign A function to a function pointer

查看:82
本文介绍了将函数分配给函数指针的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何为虚函数指定一个Struct函数?

例如:



How do I assign a Struct function to a void function?
For example:

student* NewStud(){
...
return NewStud;
}

void (*funptr);

(student*)funcptr=NewStud;





它会起作用吗?



Will it work?

推荐答案

你根本做不到。

你想做的事情如下:

You simply cannot do that.
Are you trying to do something like:
#include <stdio.h>

typedef struct _student
{
  int a;
} student;


student* NewStud(){
  static student s;
  s.a = 5;
  return &s;
}

typedef student * (*FUNP)();

int main()
{
  void *p;
  student * ps;

  p = NewStud;

  ps = ((FUNP)p)();

  printf("%d\n", ps->a);

  return 0;
}




?


这篇关于将函数分配给函数指针的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆