错误:获取线(CIN,名称) 未声明使用"cin"

errror : getline(cin,name) undeclared use of "cin"

本文关键字:未声明 cin 名称 获取 CIN 错误      更新时间:2023-10-16

我有这个程序

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

当我编译时,这就是我得到的"C:\Users\user\Documents\dev c++\getline.cpp 'cin' undeclaration(首先使用此函数)"问题出在哪里?

你猜怎么着??你也需要std::string。:D

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

当您遇到此类错误时,解决方案始终是您需要包含一个标头。以下是确定您需要哪一个的方法:

  1. 转到 http://en.cppreference.com/
  2. 搜索cin
  3. 按照返回的链接进行操作。
  4. 阅读顶部的文本,其中详细说明了定义对象的位置。在这种情况下,它说:在标头 <iostream> 中定义
  5. #include <iostream>添加到代码中。

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

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

如果您实际上在代码中放入了std::cin,您可能会收到一条错误消息,告诉您cin不是命名空间的一部分std当然是,但您必须#include适当的标头。