0
我在編譯使用'qsort'的程序時出現問題 當我嘗試編譯程序時,我必須對指向結構(稱爲元素) 的指針的動態數組進行排序我得到以下錯誤: 「錯誤:傳遞參數從兼容的指針類型‘快速排序’的4 ...」在C中使用qsort
我比較函數(快速排序)是:
int compareElements(const void **e1, const void **e2)
{
Elemenet* element1 = *(Element** const)e1;
Elemenet* element2 = *(Element** const)e2;
if (element1->key < element2->key)
return -1;
...................
}
誰能說什麼是錯的,請..? 我試着改變的這麼多的模式,比較功能,仍然沒有
謝謝
嘗試'INT compareElements(常量無效* E1,常量無效* E2)' – BLUEPIXY
同...另外*(Element * * const)變成(Element *)... :) –
如果element-> key是一個整數,一個float,一個double或者一個字符,我想你可以使用下面的代碼:return element1-> key- element2-> key;)如果key是char *,則必須使用代碼:return strcmp(element1-> key,element2-> key)。 –