这个问题在这里已经有了答案:
What is an undefined reference/unresolved external symbol error and how do I fix it?
(37 个回答)
7年前关闭。
#include <iostream>
using namespace std;
class Fraction
{
private:
//variables to store numerator and denominator
int num;
int denom;
public:
Fraction();
Fraction(int num): num(num) {}
Fraction(int num, int denom): num(num), denom(denom) {}
int get_numerator() const {return num;}
int get_denominator() const {return denom;}
};
istream &operator>> (istream &input, Fraction &f)
{
int n, d;
char slash;
input >> n;
input >> slash;
input >> d;
f = Fraction(n, d);
return input;
}
ostream &operator<<(ostream &output, const Fraction &frac)
{
return output << frac.get_numerator() << "/" << frac.get_denominator();
}
int main()
{
Fraction frac(1,2);
Fraction frac2;
cout << frac << endl;
cin >> frac2;
cout << frac2 << endl;
return 0;
}
我正在尝试创建分数数据类型。
该代码应允许用户使用重载的“>>”运算符输入分数,但它不起作用,因为我收到错误:
在函数“main”中:未定义对 Fraction::Fraction() 的引用
我试过没有重载输入运算符的代码,它工作正常。
我究竟做错了什么?
最佳答案
编译器要求定义以下函数(默认构造函数):-
Fraction();
你没有提供的。
关于c++ - 我收到错误 : "in function main: undefined reference to Fraction::Fraction()",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27202633/