ChinaUnix.net
相关文章推荐:

指针函数

[code] #include #include using namespace std; string *p; string *return_val() { string str("test"); p=&str; cout << *p << endl; return (p); /*请问这时p指向哪里?*/ } int main() { string *str1=return_val(); /*请问这时return_val()指向哪里?*/ cout<< *str1<

by dl0622 - C/C++ - 2009-03-16 17:51:14 阅读(887) 回复(6)

相关讨论

typedef void (*api_unit)(char *); api_unit unit_tbl[] = { (api_unit)mmi_api_start, (api_unit)mmi_api_stop }; void mmi_api_start(char *ptr) {} void mmi_api_stop(char *ptr) { } 问题:mmi_api_start和mmi_api_stop这两个函数名称能被强制转化成api_unit吗?这么转化一般有什么目的呢?

by duanyongzhi - C/C++ - 2009-08-21 19:18:08 阅读(1070) 回复(4)

class a { public: int b(){return 0}; void c() { int(a::*p)(); p = b; p();//这里编译报错 } };

by 20080030成电 - C/C++ - 2007-07-12 12:38:14 阅读(1184) 回复(5)

[code]#include using namespace std; typedef enum { Termination, Insert, my_delete, Print, Invalid } menu; typedef void (*mfunc)(void); ...

by shihyu - C/C++ - 2007-06-10 21:29:42 阅读(1073) 回复(2)

函数指针是个什么dd?当你把这个指针转换成整数输出时,这个整数有没有什么特别的含义?

by koolcoy - C/C++ - 2006-12-03 21:44:38 阅读(844) 回复(5)

在c语言中,指向函数指针的使用,是不是必须加()呢?如: int fp(int i) { return i; } int main() { int (*f)(int)=&fp; printf("%d",(*f)(9)); } 如果写成:printf("%d",f(9));也可以正常运行,可是书上说使用和声明是一致的,必须有加号和*,到底是怎样呢?

by lklll - C/C++ - 2006-04-08 23:35:12 阅读(1798) 回复(4)

int (*funcl)(int x); int *funcl (int x); 是如何使用的?

by beyond1121 - C/C++ - 2005-12-14 21:32:55 阅读(839) 回复(1)

[quote] 8 typedef void *log_funp_t(char *,int,int,int); 9 10 int open_log(const char *, int); 11 void close_log(int); 12 int write_log(int, int, int, log_funp_t *); 13 int check_log_length(int, int);[/quote] [quote] log.h:8: error: redefinition of typedef 'log_funp_t' log.h:8: error: previous declaration of 'log_funp_t' was here[/quote] [ 本帖最后由 wangqi0021 于 2009-4-2 15:38 编辑 ]

by wangqi0021 - C/C++ - 2009-04-02 17:16:23 阅读(602) 回复(4)

typedef void (*FUNC_T)(int i); void func( FUNC_T func ); void test(); main() { ... func( test ); ... } 请问这样的写法,编译能通过吗?

by mathieu - C/C++ - 2008-07-26 21:39:36 阅读(2764) 回复(22)

[code]#include void test(int i) { printf("%d\n",i); } typedef void (*Funa)(int); int main() { Funa a,b; a = b = test; a(5); b(10); system("pause"); return 0; }[/code] 假设把 typedef void (*Funa)(int); 跟 Funa a,b; 都拿掉 改成 void (*)(int) a, b; // 这样是不合法是什么原因? 为什么一定要用 typedef 才可以? 谢谢 ...

by shihyu - C/C++ - 2008-06-13 11:37:22 阅读(1646) 回复(7)

1.函数返回指针的疑问 就比如 readdir(); 返回一个指针变量。不明白的是,函数内部是怎么定义指针并分配内存的,可以保证函数返回后不会自动释放,并且不会产生泄露。 最好把readdir的函数源代码贴出来。 2.请问scandir的几个变量是否需要调用者手动free()?

by 77h2_eleven - C/C++ - 2008-06-10 13:12:09 阅读(1579) 回复(6)