-4
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 の両方codestring値が含まれています。

4

3 に答える 3

2

コンパイラはそれが文字列の配列であることを伝えているcodeので、次のようなものが必要です

code[someIndex].find(o) == ....
于 2013-09-30T18:14:28.480 に答える
0

エラーは all 、codeの配列ですstd::string

を使って比較

code[i].find(o)

i= ループ インデックス

于 2013-09-30T18:15:40.000 に答える
0

エラーを読んでください:

エラー: 非クラス型 'std::string [4] である 'code' 内のメンバー 'find' の要求

それはあなたに次のことを伝えています:

  • codeタイプです(4つのオブジェクトstd::string [4]の配列です)std::string
  • find要求しているメンバー関数が見つかりませんでした

呼び出したい文字列の正しいインデックスを選択するfindか、ループを実行します。

for (int i = 0; i < 4; i++)
    if (code[i].find(o) == input.find(o))
        // ...

可能であれば、C スタイルの配列を避けてstd::array(C++11 以降) orstd::vectorを代わりに使用するようにしてください。

于 2013-09-30T18:17:51.247 に答える