配列内の要素のインデックスを見つけようとしました....次の関数を使用してintで機能させることができました:
int *getIndexOfInt(int *arr, int size, int check) {
int *result;
int *k;
int count = 0;
for (int i = 0; i <= size - 1; i++) {
if (arr[i] == check) {
k[count] = i;
count++;
}
}
if (count > 0) {
*result = *k;
return result;
} else
cout << "Not Found";
}
ただし、文字列に対してこれを試したところ、エラー (プログラムはステータス 11 で終了) または無限ループが発生しました。
int *getIndexOfString(string *arr, int size, string check) {
int *result;
int *k;
int count = 0;
for (int i = 0; i <= size - 1; i++) {
if (arr[i] == check) {
k[count] = i;
count++;
}
}
if (count > 0) {
*result = *k;
return result;
}
else cout << "Not Found";
}
理由を教えてください。また、エラーを修正するのを手伝ってもらえますか?
編集: 結果変数は、メイン関数で使用される配列であり、指定された配列で文字列が見つかったインデックスが含まれています。k 変数は、結果に追加される前に値が格納される単なる配列です。arr は指定された文字列配列であり、サイズは指定されたサイズであり、check はコードが検索する文字列です。