【发布时间】:2015-08-12 19:31:18
【问题描述】:
由于下面的代码行,我观察到错误“警告 C4090: 'function' : different 'const' qualifiers”。我了解(不是 100%)关于 SO 的其他类似问题是因为
--> const char* EmployeeList[] 和我在 EmployeeList 的 qsort 中的声明
#define Elements(array) (sizeof(array)/sizeof((array)[0]))
const char *EmployeeList[] =
{
"Larry Page", "Sergy Brin", "Sundar Pichai", "Merrisa Mayer"
};
// called from main
SortEmployee(EmployeeList, Elements(EmployeeList));
int Compare(const void *elemA, const void *elemB)
{
...
}
void SortEmployee(const char *EmployeeList[], size_t EmployeeCount)
{
qsort(EmployeeList, EmployeeCount, sizeof(EmployeeList[0]), Compare);
}
但是我无法解决它-任何指针如何为字符串数组执行此操作。
【问题讨论】:
-
我感觉问题出在
Compare函数上,而不是EmployeeList数组上。发布Minimal Complete Verifiable Example 会让这个问题更容易回答。 -
我已经修改了代码部分并放置了更多相关的代码部分。如果它还不够 - 将放置整个代码 - 只是试图避免集群。
-
我认为该代码没有问题,
Compare函数看起来是正确的。我填空制作了一个 MCVE,它编译时没有错误或警告(使用带有 -Wall 的 clang),并且运行良好。你用的是哪个编译器? -
我正在使用微软编译器