游戏开发论坛

 找回密码
 立即注册
搜索
查看: 1635|回复: 1

求助:参数转换的问题

[复制链接]

83

主题

196

帖子

196

积分

注册会员

Rank: 2

积分
196
发表于 2008-1-19 20:47:00 | 显示全部楼层 |阅读模式
请先看看编译报错:
error C2664: “qsort” : 不能将参数 4 从“int (const FILEINFO *,const FILEINFO *)”转换为“int (__cdecl *)(const void *,const void *)”
        在匹配目标类型的范围内没有具有该名称的函数


看看出错处:
          qsort (plist->info, iNum, sizeof (FILEINFO), Compare) ;

Compare是一个函数指针:
int Compare (const FILEINFO * pinfo1, const FILEINFO * pinfo2)
        
{
        
    return lstrcmp (pinfo2->szFilename, pinfo1->szFilename) ;
        
}

出错处的函数原形:

void  qsort (void *,size_t, size_t,int (__cdecl *)(const void *,const void *)) ;


大大们赐教
谢谢了

36

主题

1047

帖子

1147

积分

金牌会员

Rank: 6Rank: 6

积分
1147
发表于 2008-1-21 22:15:00 | 显示全部楼层

Re:求助:参数转换的问题

改成:
int Compare (const void * param1,const void * param2)
{
     const FILEINFO * pinfo1 = (const FILEINFO*)param1;
     const FILEINFO * pinfo2 = (const FILEINFO*)param2;

     return lstrcmp (pinfo2->szFilename, pinfo1->szFilename) ;      
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-12-19 21:46

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表