不存在用户定义的从“std::vector<std::string, std::allocator<std::string>”到“std::string”的适当转换
时间: 2023-11-15 12:06:06 浏览: 493
各种string类型转换
4星 · 用户满意度95%
这种错误通常意味着您正在尝试使用不兼容的类型进行转换。在这种情况下,您正在尝试将一个 `std::vector<std::string>` 转换为一个 `std::string`,这是不可能的。
如果您想将一个 `std::vector<std::string>` 转换为一个 `std::string`,您需要使用 `std::stringstream` 或类似的方法将其所有元素连接起来。例如:
```c++
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
int main() {
std::vector<std::string> vec = {"hello", "world", "!"};
std::stringstream ss;
for (const auto& str : vec) {
ss << str;
}
std::string result = ss.str();
std::cout << result << std::endl;
return 0;
}
```
这将输出 `helloworld!`。
阅读全文