C++函数小问题
qsort,一个快速排序的库函数,在Stdlib.h头文件中定义。我仿照例子做了一个小demo,老是通不过编译。总是类型不匹配 ,后来干脆把帮助的例子粘贴上去,可还是不行,难道例子错了吗?谁用过,麻烦指点1,2. 问题点数:30、回复次数:10Top
1 楼kingfish(工作很忙,很少来csdn...)回复于 2003-08-03 10:57:28 得分 0
怎么会,就是那个什么car,cat...例子吧
Top
2 楼qibo999(行路者)回复于 2003-08-03 11:44:18 得分 0
贴一下代码看看Top
3 楼weibz0525(小虫)回复于 2003-08-03 16:32:28 得分 0
是啊,是car,cat那个
qsort,点F1,把帮助的例子贴上去,你们做个demo看看能运行吗?Top
4 楼kingfish(工作很忙,很少来csdn...)回复于 2003-08-03 16:34:36 得分 5
没问题Top
5 楼weibz0525(小虫)回复于 2003-08-04 09:42:56 得分 0
晕,是我自己没调试好,那个sort_function不能做为form1的成员函数吗?Top
6 楼jiangchun_xn(GrayMemory)(再回头·灯火依旧·人不见·潸然泪下)回复于 2003-08-06 09:56:15 得分 0
类成员函数不能作为函数指针来做回调的Top
7 楼weibz0525(小虫)回复于 2003-08-06 10:05:37 得分 0
为什么呢?
处于哪方面安全考虑呢?Top
8 楼Lewolf(无名)回复于 2003-08-06 10:09:00 得分 5
类成员函数作回调只能是静态函数。我也没有这样使用过,但是好像静态函数是可以的吧!Top
9 楼TopCat(令狐虫)回复于 2003-08-06 10:45:33 得分 20
不是安全性问题,而是兼容性问题。因为类的成员函数在链接时会带上一个隐含的“this”参数,就是这个多出来的参数使得它作为回调时因为参数不同而编译失败。类的静态成员变量就不会有这个“多余的参数”,所以使用起来没有问题。
有关这方面的知识,去看看《深度探索C++对象模型》就很清楚了。Top
10 楼jiangchun_xn(GrayMemory)(再回头·灯火依旧·人不见·潸然泪下)回复于 2003-08-07 13:40:44 得分 0
通过继承等其他方式来实现回调机制,对于本身就把参数设计为函数指针(如很多的sdk)就只能用类的静态方法或者一般的c函数才行。Top




