错误:getline(cin,name)未声明使用“cin”

时间:2014-01-15 10:48:13

标签: c++

我有这个程序

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

当我编译时,这就是我得到的 “C:\ Users \ user \ Documents \ dev c ++ \ getline.cpp`cin'unclaclared(首次使用此函数)” 有什么问题?

4 个答案:

答案 0 :(得分:2)

猜猜是什么?您还需要std::string ..:D

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

答案 1 :(得分:2)

当您遇到此类错误时,解决方案总是需要包含标头。以下是如何确定您需要的:

  1. 转到http://en.cppreference.com/
  2. 搜索cin
  3. 关注返回的link
  4. 阅读顶部的文字,详细说明对象的定义位置。在这种情况下,它会说:在标题<iostream> 中定义。
  5. #include <iostream>添加到您的代码中。

答案 2 :(得分:1)

std::cin不是该语言的一部分,但实际上是由图书馆提供的。正如其他人所说,你需要#include <iostream>,就像<string>一样,它是一个提供各种功能的库。当您选择这样做时,您还会获得std::cout信息。

答案 3 :(得分:1)

C ++语言的一部分是某些部分是“库功能”,这意味着,虽然它们是为您提供的,但它们遵守语言规则,您必须包含它们的头文件。

如果您实际上在代码中放了std::cin,则可能会收到一条错误消息,告诉您cin不属于命名空间std当然是这样但是您必须#include相应的标题。