2014-01-15 35 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适当的头。