我知道qsort從C庫和我已經實現它與字符和整數(從const void *形式轉換爲相關形式),但現在我正在實現代碼,這給我最長的重複在給定的句子這裏是簡單的比較功能使用qsort與比較功能
int pstrcmp(char **p,char **q){
return strcmp(*p,*q);
}
,我想用它在快速排序這樣
qsort(a,n,sizeof(char *),pstrcmp);(a is array of strings)
當我直接寫,但寫它是不兼容和兒子,顯示了我的錯誤,請幫我糾正它
錯誤是這樣
2智能感知:類型爲 「int(*)(字符** P,焦炭** Q)」 是 int型的(__cdecl *)的」參數不相容(常量空隙的參數* 常量無效*)」 C:\用戶\ datuashvili \文檔\ Visual工作室 2010 \項目\ duplicate_strings \ duplicate_strings \ duplicates_strings.cpp 32個27 duplicate_strings
是否有原因,你在C++中使用'qsort'而不是'std :: sort'? –
使用來自''的'std :: sort'與函數'bool pstrcmp(const char * a,const char * b){return strcmp(a,b)<0;}'相比更加簡單。使用'std :: string'甚至更簡單,你根本不必實現比較函數。 –
visitor