2017-07-07 91 views
-1

矢量我有一个载体命名为“列表”,我想打印在列表中的名称,但它说错误打印与名称

操作“< <”这些操作数相匹配

操作数类型是:性病:: ostream的< <的std :: string

为什么我有这个错误,我怎么CAND修复它?

#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 

    } 
+5

'#include ' –

+0

有没有什么原因'vector list;'是一个全局变量? – Borgleader

+1

向量的名称也不好 –

回答

3

您没有#include <string>。这很重要。

是的,我知道你可以在没有它的情况下实例化矢量。不,这没有什么区别。这是纯粹的机会,直到您的标准库实现如何布置。

负责使<<在字符串上工作的函数位于该标题内。

0

您错过了为字符串添加库,包括它,由#include <string>。头部<string>也声明了流插入器。