【发布时间】:2022-06-20 15:51:25
【问题描述】:
我是 C++ 中的 getline 函数的新手。
我正在编写一个简单的程序,它为分数创建一个结构,该结构读取分子和分母。然后,我正在编写一个void printFraction() 函数,它将结构体作为参数并输出分子除以分母。
但是,我收到一条错误消息,提示 getline 没有匹配的函数,并且它需要参数但只得到 2 个。我怎样才能找到问题所在?
#include <iostream>
using namespace std;
struct Fraction {
int numerator;
int denominator;
};
void printFraction(Fraction f);
int main() {
Fraction f;
cout << "Please enter numerator";
getline(cin, f.numerator);
cout << "Please enter denominator";
getline(cin, f.denominator);
cin.ignore();
printFraction(f);
}
void printFraction(Fraction f) {
cout << f.numerator << "/" << f.denominator;
}
【问题讨论】:
-
getline用于获取整个输入行作为字符串,而不是int。如果您想要格式化输入,请使用cin >>,例如cin >> f.numerator;
标签: c++