※ 引述《realturner (rt)》之铭言:
: 题目述叙有更新,请同学去查看
: 另外最后一笔测资因为档案很多(~30000)
: 如果用 strcpy 会因为空间不够而无法执行
: 产生“使用到不该用的内存”的错误
: 其实只要记指标就好了
: 同样地,用完一个档记得就要关
: 因为系统会限制同时能开的档案数
: 最后,如果你都做了,而且用了 qsort 还是超时的话
: 请多丢几次,第二次通常会比较快
各位强者好 在下做这次的homework时碰上一个问题
虽然已经靠估狗解决 却还是不知道为什么会这样 因此上来向各位请教
先说我是用 DEV C
我本来的compare函式长这样:
int compare(void *data1,void *data2)
在编译的时候 出现如下的错误讯息:
passing argument 4 of ‘qsort’ from incompatible pointer type
我为此百思不得其解 因为这和老师讲义上面的形式明明一模一样
后来辜狗了一下 看到一堆英文中 好像说要加const
于是我就把函式改成这个样子:
int compare(const void *data1,const void *data2)
然后就可以过了......
但是我完全不知道为什么要加......
我把老师讲义的程式复制到DEV C
他没有加const也照样可以编译可以跑
但是我自己的就得加
请问那个错误讯息和const的关系到底是什么?
感谢各位大大~