呼び出さなければなりませんが、私はちょうど、C++にCから切り替えます。私はcでコマンドライン引数をソートする自分のプログラムをC++に移行しました(つまり、クラスやものを作った)、今実行しようとするとこのエラーが発生します。 関数stringcompの参照を見つけることができません。誰でもそれを修正する方法を助けることができますか? この質問は基本的なものかもしれないので、私の新しいことをC++に赦してください。stringcomp:すべては(C++と比較して)Cでかなり簡単だった一方、非静的メンバ関数への参照が
PS:パーは私のクラス名であるC++で
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'を使わないのですか? –
sortの上にstringcompを移動します。 – ZDF
@ZDF私はそれが助けになるとは思わない。私は 'Par'はクラスであり、名前空間ではないと思います。 –