2014-09-03 65 views
-1

此代碼的工作對我來說:是否需要在C++中使用字符串<iostream>?

#include <string> 
#include <iostream> 
int main() 
{ 
    std::string s; 
    s = "hello world"; 
    cout << s; 
    return 0; 
} 

但是這一次沒有:

#include <string> 
int main() 
{ 
    string s; 
    s = "hello world"; 
    return 0; 
} 

是對包括<iostream>需要還有<string>一個?

我正在使用Eclipse CDT IDE。

+0

您需要'string'前的'std ::',而不是''。雖然我很懷疑第一個實際編譯的,因爲它應該抱怨'cout'之前缺少'std ::'。 – 2014-09-03 22:47:47

+0

std :: string ...我無法弄清楚爲什麼你在第一個例子中記住它,但在第二個例子中忘了它。 – MsrButterfly 2014-09-03 22:50:22

+0

是的,我剛剛意識到這一點。沒想到同時在兩個不同的「庫」中使用相同的命名空間。 cout的事情是因爲我複製粘貼代碼並修改它看起來像我的,但錯過了那個std。 – 2014-09-03 22:51:35

回答

1

Iostream不需要使用字符串。你在第二個例子中缺少使用命名空間std(或者使用std ::前綴),這就是爲什麼它不起作用。

+0

我非常想動手這個建議使用命名空間std monstrosity。 – 2014-09-03 22:51:26

相關問題