Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/134.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 布尔查找函数未在数组中搜索_C++ - Fatal编程技术网

C++ 布尔查找函数未在数组中搜索

C++ 布尔查找函数未在数组中搜索,c++,C++,我想为我的类创建一个find函数,该函数搜索一个项目数组,如果找到,则返回1,否则返回0 这里是我的代码,但始终返回0: // implementation file bool bag::find(string item_name) { for (int i = 0; i < 5; i++) if (arr[i] == item_name) return true; return false; } //实现文件 bool bag:

我想为我的类创建一个find函数,该函数搜索一个项目数组,如果找到,则返回1,否则返回0

这里是我的代码,但始终返回0:

// implementation file 
bool bag::find(string item_name)
{
    for (int i = 0; i < 5; i++)
        if (arr[i] == item_name)
            return true;
    return false;
}
//实现文件
bool bag::find(字符串项目名称)
{
对于(int i=0;i<5;i++)
if(arr[i]==项目名称)
返回true;
返回false;
}
字符串arr[5]={“a”、“b”、“c”、“d”、“e”}

阵列的最大大小为5

// main
cout << find("a");
//main

不能只使用
std::find

bool bag::find(std::string item)
{
    return std::find(arr, arr + 5, item) != &arr[5];
}

我假设
arr
是一个C样式的数组,除非您另有说明。

如果您将数组定义为具有元素类型char,那么实际上您的函数将无法工作,因为char类型的对象不能隐式转换为std::string类型。

显示
arr
数组。arr是什么类型的。code是什么right@MichaelKrelin-黑客
bag
可能是一个名称空间:总之,展示完整的真实(非)工作可能是有用的。如果没有一个完整的,我们不能帮助你。虽然不值得投反对票,但我认为这不是一个好的答案。它不涉及理解问题。