我试图使用qsort来组织一个vec。但是我遇到了cmpfunc
的问题。 vec是结构的vec。结构非常简单,它有一个字符串和一个数字。我想用数字来组织。
int cmpfunc (const void *a, const void *b)
{
Item i = *((Item*) a);
Item j = *((Item*) b);
if (i->acc < j->acc)
return 1;
if (i->acc > j->acc)
return -1;
}
qsort(vec, max, sizeof(Item), cmpfunc);
我得到了这个warning: control reaches end of non-void function [-Wreturn-type]
}
答案 0 :(得分:0)
你只在if语句中返回,你需要在函数的底部返回它无论如何都可以得到它:
<ns3:getPostDirectionalResponse xmlns:ns2="http://xx.net/msa/Address/AddressValues.xsd" xmlns:ns3="http://www.openuri.org/">
<return>
<ns2:AddressValuesResponse>
<ns2:AddressValue>
<ns2:value>South</ns2:value>
<ns2:valueAbbrev>S</ns2:valueAbbrev>
</ns2:AddressValuesResponse>
</return>
</ns3:getPostDirectionalResponse>
或者这也可以:
int cmpfunc (const void *a, const void *b)
{
Item i = *((Item*) a);
Item j = *((Item*) b);
if (i->acc < j->acc)
return 1;
if (i->acc > j->acc)
return -1;
return 0;
}