我有一个名为" list"我想打印列表中的名称,但它说
运营商"<<"匹配这些操作数
操作数类型是:std :: ostream<<的std :: string
为什么我有这个错误以及我如何修复它?
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
vector<string> list;
vector<string> getAll() { //I tried to use this function instread of "list"(list is used below) but it's the same result.
return list;
}
int main() {
list.push_back("Ion");
list.push_back("Gabi");
list.push_back("Sabrina");
for (string i : list)
std::cout << i; //HERE
}
答案 0 :(得分:3)
你没有#include <string>
。这很重要。
是的,我知道你可以在没有它的情况下实例化矢量。不,这没有什么区别。这是纯粹的机会,直到你的标准库实现如何布局。
负责使<<
处理字符串的函数位于该标题内。
答案 1 :(得分:0)
您错过了为#include <string>
添加字符串库,包括它。标头<string>
也声明了流插入器。