不能編譯這樣簡單的東西,但是當我將變量類型從 字符串更改爲int時,它編譯並運行良好。任何想法爲什麼發生這種情況?輸入字符串
#include <iostream>
using namespace std;
void main()
{
string x;
cin>>x;
}
不能編譯這樣簡單的東西,但是當我將變量類型從 字符串更改爲int時,它編譯並運行良好。任何想法爲什麼發生這種情況?輸入字符串
#include <iostream>
using namespace std;
void main()
{
string x;
cin>>x;
}
您需要:
#include <string>
要獲得的std :: string在您的應用程序。
很感謝。我認爲「使用命名空間標準」就足夠了。爲什麼不是? – user620189 2011-02-22 21:46:44
因爲「using namespace std;」僅將std名稱空間中的* defined *符號帶入全局名稱空間。如果不包含標題,那麼符號「字符串」在任何地方都沒有定義。一旦你包含了頭文件,就定義了頭文件,並且如果你有正確的使用語句,你可以引用符號爲std :: string或者字符串。 – 2011-02-22 21:51:02
明白了。非常感謝。 – user620189 2011-02-22 21:53:30
「它不會編譯」就像你可以得到的那樣不具有說服力。 *爲什麼*不編譯?如果你得到一個錯誤,它是什麼? – 2011-02-22 21:42:58