我在C++中使用 getline() 函数时遇到问题
I am having trouble with getline() function in C++
您好,我在 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;
此外,还可以对之前创建的字符串对象调用getline
。std::cin
是流类型的对象,而不是字符串。我建议你看看这个谈论getline
的页面。
相关文章:
- 如何在C++向量中奇数元素前面加上值-1,我在使用insert函数时遇到了问题
- 我在 C++ 代码中遇到错误警告:控制到达非空函数 [-Wreturn 类型] 的末尾
- 我在C++中使用 getline() 函数时遇到问题
- 存储另一个函数返回的布尔数组时遇到问题
- 我在解决此错误时遇到问题.我正在努力在主函数中传递数组
- Winsock2:当我尝试发送带有空格的字符串时,该函数在遇到空格时似乎停止发送
- 将结构传递给函数时遇到问题
- 我不明白尝试使用字符串作为函数参数时遇到的错误
- 字数统计函数在将单词添加到一组唯一单词时遇到问题
- 尝试通过多个函数移动数组,但遇到了我不知道如何修复的错误
- 我在生成返回为数不多的模板化参数之一cpp的函数时遇到问题
- 学习C++并在早期示例中遇到错误(在非静态数据成员之前需要构造函数)
- 我在使用字符的函数时遇到了一些问题
- 返回带有另一个类的数据成员的构造函数?遇到转换错误?
- 我在理解 AVX 随机内部函数如何为 8 位时遇到一些问题
- 在使用 std::sort() 和 lambda 函数按属性对 ADT 的向量进行排序时遇到问题
- 在检查传递函数标识符时是否获得模板参数时遇到问题
- 调用基构造函数时遇到问题 - 获取读取访问冲突
- 在使用结构体和用函数填充其变量(使用指针)时遇到问题
- 遇到错误试图在功能型参数中使用void函数的错误