typedef S32 (*IntCallback)(SimObject *obj, S32 argc, const char *argv[]);
这是我看到的原型,之前有typedef int S32,当时一下子没看出来,傻了,后来在网上看到别人说的typedef的用法中特意提到这个用法:函数指针
写了个小例子:
//func.h
int add_(int a,int b)
{
return a+b;
}
int multiply_(int a ,int b)
{
return a*b;
}
int minus_(int a,int b)
{
return a-b;
}
int div_(int a ,int b)
{
return a/b;
}
typedef int (*pfunc)(int ,int);
//main.cpp
#include <iostream>
#include "func.h"
using namespace std;
int main()
{
int aa =6,bb=3;
pfunc p = add_;//用pfunc来定义一个指向函数的指针变量,pfunc就是一种类型而已
cout << p(aa,bb) <<endl;
p = multiply_;
cout <<p(aa,bb) <<endl;
p = minus_;
cout <<p(aa,bb) <<endl;
p = div_;
cout <<p(aa,bb) << endl;
return 0;
}