このコードは、それらの戻り値が呼び出されたときに1または0の値を返しますが、デフォルトの戻り値2になると戻りません。私はそれが私が行方不明の小さなものだと確信していますが、私はそれを把握することはできません。関数がデフォルト値を返さないC++
int comp(string a, string b){
char x;
char y;
int i = 1;
int len;
len = a.length();
if(b.length() < (unsigned)len){
len = b.length();
}
len++;
while(i!=len){
x = a.at(i);
y = b.at(i);
if(getNum(x) < getNum(y)){
return 1;
}
else if (getNum(x) > getNum(y)){
return 0;
}
i++;
}
return 2;
}
'len'変数は' size_t'または 'unsigned int'として宣言する必要があります。負の長さの文字列に遭遇したことはありません。 –
この機能が何であっても、間違っています。インデックスは1ではなく0から始まります。 –
あなたの投稿を 'getNum'の*定義*で編集してください。 –