我收到错误:"in function main: undefined reference to Fraction::Fraction()"
Ive been getting a error: "in function main: undefined reference to Fraction::Fraction()"
#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();
您尚未提供的内容。
相关文章:
- 我的项目不会像"undefined reference to `grpc::g_core_codegen_interface'"那样使用未定义的引用错误进行编译
- Visual Studio Code "undefined reference to `WinMain@16'"
- 使用 MATLAB 编码器生成C++代码:编译错误"undefined reference to `rgb2gray_tbb_real64'"
- 使用 [] 运算符时"binding reference of type discards qualifiers"
- 为什么创建友元类的实例会导致"undefined reference to"错误?
- 应用程序崩溃并显示"symbol _ZdlPvm, version Qt_5 not defined in file libQt5Core.so.5 with link time reference"
- Tensorflow c++ api undefined reference to 'tflite::D efaultErrorReporter()'
- 不断"Attempting to reference a deleted function"
- std::iterator::reference 必须是引用吗?
- C++/SDL "initial value of reference to a non-const must be an lvalue"
- 为什么在使用 SDL2 时仍然收到'undefined reference'链接器错误?
- OpenCV undefined reference to 'cv::imread(cv::String const&, int)'
- Libcurl c++ "undefined reference to" (Windows/MinGW/g++)
- C++返回类型 T(&)[] 与使用 reference = T(&)[] 作为返回类型
- const auto & 和 auto & if reference 对象之间的区别是 const
- 尝试使用 extern "C" 调用 C 中的C++方法,得到"undefined reference to"对象的链接器错误
- 以前的'namespace reference { }'声明
- build error : undefined reference to `yyFlexLexer::yyFlexLex
- C ++引用函数参数似乎包含原始对象的副本,而不是充当"real reference"
- 我收到错误:"in function main: undefined reference to Fraction::Fraction()"