void *(*func)(void *)总结
2013-09-24 16:01
363 查看
注意:函数指针是C语言的语法,无法把C++类的函数地址赋给一个函数指针变量,其不支持通过命名空间来访问一个类的函数/方法。
问题来源:线程创建函数, pthread_create(pthread_t *id,pthread_attr_t *attr,void *(*func)(void *),void *arg);的参数
void *(*func)(void *):是个指向函数地址的指针,此函数地址是线程开始执行的起始函数地址。起始函数的地址由func确定。
第一个void*是函数的类型,而函数是个无名的函数;
第二个void*是函数的形参;
func只是一个指针,指向形参为void*返回值为void*的函数的指针;
函数指针初始化:
void* Function(void*){
};
int (*p_function)(void*) = Function;//初始化p_funtion函数,直接把p_function执行Function。
函数指针模板定义:
typedef void* (*pFun)(void*);
上函数指针初始化可写成:
pFun p_function = Function;
问题来源:线程创建函数, pthread_create(pthread_t *id,pthread_attr_t *attr,void *(*func)(void *),void *arg);的参数
void *(*func)(void *):是个指向函数地址的指针,此函数地址是线程开始执行的起始函数地址。起始函数的地址由func确定。
第一个void*是函数的类型,而函数是个无名的函数;
第二个void*是函数的形参;
func只是一个指针,指向形参为void*返回值为void*的函数的指针;
函数指针初始化:
void* Function(void*){
};
int (*p_function)(void*) = Function;//初始化p_funtion函数,直接把p_function执行Function。
函数指针模板定义:
typedef void* (*pFun)(void*);
上函数指针初始化可写成:
pFun p_function = Function;
相关文章推荐
- void类型和void *指针类型(网上摘抄总结)【转】
- void *(*func) (void *)是啥意思?
- C/C++语言中的void及void指针总结
- typedef void(*Func)(void) 用法
- 有关void (*signl(int signo,void(*func)(int)))(int);的解析
- C/C++中void用法总结
- linux下C编程(六)之 void用法大总结
- 【链接库出错】:error LNK2005: "void __cdecl operator ***(void *)" (??3@YAXPAX@Z) 已经在xxxx.lib中定义
- void (*signal(int sig, void (*func) (int))) (int)理解
- 函数参数返回值 void 和 void *
- error LNK2005: "void __cdecl operator delete(void *)"
- error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in LIBCMTD.lib
- nafxcw.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) alread
- 说说void 和void *
- VC缺省链接库的顺序不对导致链接错误error LNK2005: "void __cdecl operator delete(void *)"
- C/C++语言中的void及void指针总结
- void指针(void *的用法)
- void 和void * 的 用法
- void指针(void *的用法)
- void (*signal(int sig, void (*func) (int))) (int)理解