2014-01-15 94 views
-1

我有這個程序errror:函數getline(CIN,名)未申報使用 「CIN」

#include<string> 
using namespace std; 
int main() 
{ 
    int name; 
    getline(cin,name); 
    return 0; 
} 

當我編譯的,這就是我得到 「C:\用戶\用戶\文檔\開發的C++ \ getline.cpp`cin'未申報(首次使用此功能)「 有什麼問題?

+6

需要'#include ' – billz

+3

您需要包含'' – juanchopanza

+1

這個密切的原因不適合這個問題。但可悲的是,這是所有可用的最好的一個。 – Maroun

回答

2

猜猜是什麼?您需要std::string以及..:d

#include <iostream> 
#include <string> 
using namespace std; 
int main() 
{ 
    string name; 
    getline(cin,name); 
    return 0; 
} 
+0

我已經包括iostream和它不工作,還有什麼是std :: string和D?我是編程新手。 – samuel

+0

@ geek2你在這個答案中使用完全相同的代碼嗎?當你說不工作..那麼什麼不工作?有什麼錯誤? –

+0

現實,謝謝,它解決了,但我仍然有一個問題,我可以使用其他內置函數替代cout,就像getline替換cin一樣,我將如何使用它?謝謝 – samuel

0

std::cin不是語言的一部分,但實際上是由圖書館提供。正如其他人所說的,你需要#include <iostream>,其中<string>是一個提供各種功能的庫。如果您選擇這樣做,您還可以獲得std::cout的信息。

1

當您遇到這樣的錯誤時,解決方案總是需要包含標題。以下是如何工作,你需要哪一種:

  1. 轉到http://en.cppreference.com/
  2. 搜索cin
  3. 按照返回的link
  4. 閱讀頂部的文字,詳細說明對象的定義。在這種情況下它說:定義在標題<iostream>
  5. #include <iostream>添加到您的代碼中。
0

C++語言的一部分是某些部分是「庫特徵」,這意味着,雖然它們是爲您提供的,但它們遵守語言規則並且必須包含它們的頭文件。

如果你實際上在你的代碼把std::cin你可能會得到一個錯誤信息,告訴您cin沒有命名空間std這當然是一部分,但你必須#include適當的頭。