string input;
string code[4];
if (code.find(o) == input.find(o))
{
}
この行では、次のエラーが表示されます。request for member 'find' in 'code', which is of non-class type 'std::string [4]'
stringinputと string の両方codeにstring値が含まれています。
コンパイラはそれが文字列の配列であることを伝えているcodeので、次のようなものが必要です
code[someIndex].find(o) == ....
エラーは all 、codeの配列ですstd::string
を使って比較
code[i].find(o)
i= ループ インデックス
エラーを読んでください:
エラー: 非クラス型 'std::string [4] である 'code' 内のメンバー 'find' の要求
それはあなたに次のことを伝えています:
codeタイプです(4つのオブジェクトstd::string [4]の配列です)std::stringfind要求しているメンバー関数が見つかりませんでした呼び出したい文字列の正しいインデックスを選択するfindか、ループを実行します。
for (int i = 0; i < 4; i++)
if (code[i].find(o) == input.find(o))
// ...
可能であれば、C スタイルの配列を避けてstd::array(C++11 以降) orstd::vectorを代わりに使用するようにしてください。