小编gmo*_*yes的帖子

Mac和Linux上qsort_r的不同声明

让我们看一下qsort_rLinux中的函数(/usr/include/stdlib.h):

typedef int (*__compar_d_fn_t)(const void *, const void *, void *);

extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
         __compar_d_fn_t __compar, void *__arg)
  __nonnull ((1, 4));
Run Code Online (Sandbox Code Playgroud)

让我们看一下/usr/include/stdlib.hMac中的函数(/usr/include/stdlib.h):

void qsort_r(void *, size_t, size_t, void *, int (*)(void *, const void *, const void *));
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,这些声明彼此不同(参数序列).这是令人惊讶的!抱怨在某个地方解决这个问题会有效吗?

c linux macos

8
推荐指数
1
解决办法
1058
查看次数

标签 统计

c ×1

linux ×1

macos ×1