-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和 stringcode都有string值。

4

3 回答 3

2

编译器告诉你这code是一个字符串数组,所以你需要类似的东西

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

只需阅读错误:

错误:在'code'中请求成员'find',它是非类类型'std :: string [4]

它告诉你:

  • 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 起)或std::vector代替。

于 2013-09-30T18:17:51.247 回答
0

错误说明一切,code是一个数组std::string

比较使用

code[i].find(o)

i= 循环索引

于 2013-09-30T18:15:40.000 回答