我在C++中使用 getline() 函数时遇到问题

I am having trouble with getline() function in C++

本文关键字:函数 遇到 问题 getline C++ 我在      更新时间:2023-10-16

您好,我在 getline(( 函数方面遇到了问题C++因为我是C++新手,对编程时期相对较新。我正在介绍C++课程,我自己在网上对这个主题所做的研究并没有引导我找到解决方案,我并不真正理解他们所说的所有事情,因为这是我班上的第一个作业。任何快速/粗略的帮助/理解将不胜感激,因为我们将在课堂上更彻底地介绍这个主题。下面是我正在编写的代码。这是一个简单的程序,只要求用户输入姓名和地址,然后以正确的邮件格式显示该信息。

#include <iostream>
#include <string>
int main()
{
// Variables for Mailing Addresses
std::string firstName;
std::string lastName;
int houseNum;
std::string streetName;
std::string cityName;
std::string state;
int zipCode;
// Asking for input
std::cout << "What is your First name?: ";
std::cin >> firstName;"n";
std::cout << "What is your Last name?: ";
std::cin >> lastName;"n";
std::cout << "What is your House Number?: ";
std::cin >> houseNum;"n";
std::cout << "What is your Street Name?: ";
std::getline(std::cin,houseNum);
return 0;
}

抛出的错误代码是"调用'getline'没有匹配的函数"。

getline()的问题在于您正在尝试将字符串流分配给int变量houseNum,因此出现错误。

调用 'getline(std::istream&, int&(' 没有匹配函数

另外,代码行:

std::cin >> firstName;"n";

应该给你:

警告:语句无效 [-Wunused-value]

对于"n"

启用编译器警告,它们可以为您节省大量时间。

嗯,我看到了几个主要问题。

你有这一行:

std::cin >> firstName;"n";

第一部分是正确的,但第二部分不是。 你想要这个:

std::cin >> firstName;
std::cout << "n" << std::endl;

此外,还可以对之前创建的字符串对象调用getlinestd::cin是流类型的对象,而不是字符串。我建议你看看这个谈论getline的页面。

相关文章: