2017-07-07 163 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>也聲明瞭流插入器。