我剛剛從C切換到C++,而C中的所有內容都相當簡單(與C++相比)。我將我在c中的命令行參數排序的程序遷移到了C++(即創建了類和東西),現在我嘗試運行它時出現此錯誤。 它無法找到功能stringcomp的參考。任何人都可以幫助如何糾正它? 這個問題可能是基本的,所以請原諒我對C++的新意。stringcomp:必須調用非靜態成員函數的引用
PS:標準桿是我的課名稱
void Par :: sort()
{
int i;
char *s[size-1];
/* assign each argument to a pointer */
for (i = 1; i < size; i++)
s[i-1] = argNew[i];
qsort (s, size - 1, sizeof *s, stringcomp);//It yeilds an error here
for (i = 1; i < size; i++)
{
argNew[i] = s[i-1];
}
}
void Par :: parse(char **argv, int argc)
{
setArgs(argv, argc);
sortArgs();
}
int Par:: stringcomp (const void *x, const void *y)
{
return strcmp (*(char * const *)x, *(char * const *)y);
}
你爲什麼不直接使用'strcmp'? –
移動stringcomp上面的sort。 – ZDF
@ZDF我認爲這不會有幫助;我認爲'Par'是一個類,而不是一個名字空間。 –