ChinaUnix.net
相关文章推荐:

函数指针作为参数

我的使用方法如下: // header 文件 class A { public:   static A &function(void);   test(){cout<<"aaa";} }; //定义静态成员函数对象指针类型 typedef A &(*FuncType)(void); extern FuncType msg_a; // cpp 文件 msg_a = A::function; template int PutOut(const T &req) {   msg_a.test(); //因为msg_a返回A类的一个对象 } 我的简单的示例代码就是这...

by GodPig - C/C++ - 2009-09-29 10:21:43 阅读(3924) 回复(4)

相关讨论

#include #include typedef char INT8U; typedef long int INT32U; int pp( ) { printf("this is pp\n"); return 0; } int main() { void OSVectSet (INT8U vect, void (*)()); OSVectSet(7,(void (*)(void))pp); return 0; } void OSVectSet(INT8U vect, void (*addr)(void)) { INT32U *pvect; pvect = (INT32U *)(((INT32U)vect * 4) + 0x20000000) *pvect = (INT32U)addr; print...

by idleness - C/C++ - 2008-04-28 00:38:45 阅读(3535) 回复(10)

下面是一个很短的小程序, 有个疑问在里面, 求高手解释! 谢谢. #include typedef int (*PFUN)(char* str); int fun1(char* str) { printf("%s\n", str); return 0; } int fun2(PFUN pFun, char* str) { pFun(str); return 0; } int main() { fun2(fun1, "Hello1!"); // 这个有效. fun2(&fun1, "Hello2!"); // 这个也有效! 为什么? 请高人解释 return 0; } >>> 输出结果: Hello1! He...

by Pervise - 程序开发 - 2006-08-08 12:59:11 阅读(753) 回复(4)

下面是一个很短的小程序, 有个疑问在里面, 求高手解释! 谢谢. #include typedef int (*PFUN)(char* str); int fun1(char* str) { printf("%s\n", str); return 0; } int fun2(PFUN pFun, char* str) { pFun(str); return 0; } int main() { fun2(fun1, "Hello1!"); // 这个有效. fun2(&fun1, "Hello2!"); // 这个也有效! 为什么? 请高人解释 return 0; } >>> 输出结果: Hello1! He...

by Pervise - Linux环境编程 - 2006-08-08 12:59:11 阅读(1312) 回复(4)

#include ; #include ; double sigma(double(*func)(double), double dl, double du) { double dt=0.0; for(double d=dl; d

by laye - C/C++ - 2003-12-27 14:29:08 阅读(2272) 回复(7)

void setHandler(int index) { g_cntx->curItem = (int)index; } void RegisterHandler(void (*f)(int item)) { handler1=f; handler2=f; handler3=f; } RegisterHandler(setHandler); [ 本帖最后由 dynamic516 于 2007-12-10 16:26 编辑 ]

by dynamic516 - C/C++ - 2007-12-11 15:56:29 阅读(6716) 回复(10)

当我读到一下代码: int func_A1(void*, void*, void*); int func_A2(void*, void*, void*); int func_A3(void*, void*, void*); int func_B1(void*, void*, void*); int func_B2(void*, void*, void*); int func_B3(void*, void*, void*); int (*p_A[])(void*, void*, void*)= { func_A1, func_A2, func_A3 } int (*p_B[])(void*, void*, void*)= { func_B1, func_B2, func_B3 } int(**p[])(void*, void*, void*)= { p...

by flashdriver - C/C++ - 2008-10-14 09:11:45 阅读(1731) 回复(4)

例如: void debug(int val) { printf("val=%d\n", val); return; } int main() { int second = 5; /*5秒钟之后打印val*/ eloop_register(second, &debug); return 0; } 想问下,怎么才能将val的值传过去呢?

by luoops - C/C++ - 2015-08-27 16:04:32 阅读(5547) 回复(11)

我的系统是fedora 9,系统自带gcc版本:gcc 版本 4.3.0 20080428 (Red Hat 4.3.0-8) (GCC) C函数代码如下: [code] #include #include //函数返回的指针一切正常 , 但是参数*pa指针跟func2一样 int *func1(int a, int *pa) { int i=11111; pa = (int *)malloc( sizeof(int) ); *pa = i; printf("11111函数:i=%d\ta=%d\n", *pa, a); return pa; } //指针*pa在函数里malloc了,函数执行完后*pa指...

by mgqw - C/C++ - 2008-10-07 20:52:22 阅读(5717) 回复(8)

我实现了不带参数函数指针调用,但是带参数后编译不通过,不知道哪位能解答一下?谢谢先, 源码如下: #include ; #include ; class CallC { static void printInfo(const char *string){ printf("printInfo=[%s]\n",string); }; }; void CallFun( void(*pFun)(),const char *string) { pFun(string); return ; } void main(void){ char *string ="The ChinaUnix.net is ver...

by sunshinethinkin - C/C++ - 2003-10-23 15:14:11 阅读(1654) 回复(6)

整个函数如下: float *fa() { float m=100; return & } float *fb() { float n=200; return & } void pre(float *(*fun)()) { float *p; p=fun(); printf("%6.2f\n",*p); } float *(*fpt[])()={fa,fb}; main() { clrscr(); printf("First--fa():"); pre(fa); /*If change 'fa' into 'fpt[0]'*/ /* in this line,the result no changed.*/ printf("Again---fa(): "); pre(f...

by csoapy - C/C++ - 2003-10-06 15:09:02 阅读(1628) 回复(9)