获取演示代码
#include <iostream>
#include <map>
#include <vector>
using namespace std;
typedef struct Student
{
public:
Student(){}
~Student(){}
static void print(int a,int b){printf("age is a\n");}
}Student;
int main(){
void (*p)(int, int) = &Student::print;
vector<void(*)(int,int)> tt;
tt.push_back(p);
tt[0](1,1);
return 0;
}
Run Code Online (Sandbox Code Playgroud)
当我想将 void(*)(int,int) 作为结构成员时,例如
struct void_func_st{
void(*)(int,int) f;
int a;
};
Run Code Online (Sandbox Code Playgroud)
代码错误。我不知道该结构是否可以实际制作,因为我不熟悉 void(*)(...) 的工作原理。或者我只是没有找到使 void(*)(...) 作为结构成员的正确方法。有人可以给一些建议吗?