C:\Program Files\CodeBlocks\sushuji\main.cpp|32|error: no matching function for call to 'std::set<std::__cxx11::basic_string<char> >::find(const char&)'|
时间: 2023-09-14 13:07:26 浏览: 190
codeblocks-20.03mingw是一个集成了Code::Blocks IDE和MinGW编译器的安装程序
在你提供的代码中,出现了一个错误。错误的原因是,你将字符类型`char`传递给了`std::set<std::string>::find`函数,但是该函数期望接受一个`const std::string&`类型的参数。
根据你的代码逻辑,你可能想要在`std::set<std::string>`中查找一个字符串是否存在。为了修复这个错误,你可以将字符类型`char`转换为字符串类型`std::string`,然后再调用`std::set<std::string>::find`函数。
以下是修改后的代码示例:
```cpp
if (all_of(b.second.begin(), b.second.end(), [&](const std::string& a) { return st.find(std::string(1, a)) == st.end(); })) {
strr << b.first << ' ';
}
```
在这个修改后的代码中,我们将字符类型`a`转换为字符串类型`std::string(1, a)`,然后再调用`std::set<std::string>::find`函数。
希望这个修改能解决你的问题。如果还有其他问题,请随时提问。
阅读全文