【发布时间】:2013-11-30 18:11:36
【问题描述】:
#include <iostream>
#include <string>
using namespace std;
bool in_array(string value, string *array)
{
int size = (*array).size();
for (int i = 0; i < size; i++)
{
if (value == array[i])
{
return true;
}
}
return false;
}
int main() {
string tab[2] = {"sdasd", "sdsdasd"};
string n;
cin >> n;
if (in_array(n, tab)) {
}
return 0;
}
如果 n 字符串在 tab 数组中,我想检查 C++,但代码返回错误。 我做错了什么?也许我应该使用向量?
【问题讨论】:
-
只需使用
std::find。照原样,您假装数组中有五个字符串。 -
(*array).size();是array->size()。 -
@H2CO3
(*array).size()实际上是array[0].size()。看括号 -
@Smac89 我建议您阅读有关指针的初学者 C++ 指南。 (在你不知道自己在做什么之前,不要试图教我 C++。)
array[0].size()与array->size()相同。 -
@H2CO3 感谢您的澄清,但不要回到初学者 c++