gpt4 book ai didi

与 qsort 方法混淆的错误

转载 作者:太空宇宙 更新时间:2023-11-04 02:58:17 25 4
gpt4 key购买 nike

所以,我有一个字符串数组(名称输入),我想对该数组进行排序。我用这样的东西

int stringLen = sizeof(input)/sizeof(char *);
qsort(input, stringLen, sizeof(char *), myCompare);

但是我得到了这个令人困惑的错误:

error: invalid conversion from 'int (*)(const char*, const char*)' to '__compar_fn_t {aka int (*)(const void*, const void*)}' [-fpermissive]

In file included from srot13u.c:5:0: /usr/include/stdlib.h:761:13: error: initializing argument 4 of 'void qsort(void*, size_t, size_t, __compar_fn_t)' [-fpermissive]

最佳答案

您的 myCompare 函数具有签名:

int myCompare(const char*, const char*)

但是

int myCompare(const void*, const void*)

是预期的。

就用

int myCompare(const void *a_, const void *b_) {
const char *a = a_;
const char *b = b_;
...
}

关于与 qsort 方法混淆的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14992746/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com