2014-01-06 55 views
0

我可以使用cout打印一個正常的變量就好了,但每當我嘗試打印一個函數變量(在這種情況下,string input)編譯器發出錯誤:C++ cout錯誤,每當它試圖打印一個函數變量

C2679: binary '<<' : no operator found which takes a right-hand operand of type 'std::string' (or there is no acceptable conversion)

我已經在下面發佈了我的代碼。有什麼,我做錯了(我用的是C++版本的Eclipse)

這裏是我到目前爲止的代碼:

#include <iostream> 
using namespace std; 

void println(string text) { 
    cout << text << endl; 
} 

int main() { 
    int test = 5; 
    cout << test; 
    return 0; 
} 
+8

你需要'#include '。 –

+0

如果您想使用'std :: string',請包含''。 – juanchopanza

+0

感謝您的回答!確保將答案作爲答案,而不是評論,所以我可以將其標記爲答案並給予您答覆! – Drew

回答

0

如果你想使用std::string,你需要包括<string>!該類型可能會被聲明或甚至被定義,因爲它被IOStream類使用,但實現可能會選擇不包含整個頭。在你的代碼中,似乎你得到了一個std::string的定義,但不是其輸出運算符的聲明。

0

運營商< <對於類std :: basic_string在頭部<string>中聲明。所以你需要將它包含在你的程序中,編譯器會知道它。