C++:编译 C++ 程序时出错
C++: Errors while compilation of C++ program
我正在制作一个 class 具有全局函数用法的分数
我的代码如下所示:
#include<iostream>
using namespace std;
ostream & operator<<(ostream & os, Fraction & fr)
{
return os << fr.get_num() << '/' << fr.get_den();
}
class Fraction
{
private:
int num, den;
public:
int get_num()
{
return num;
}
int get_den()
{
return den;
}
};
主函数调用:`cout << f2 << endl;
但是我在编译时遇到了构建错误:
错误 C2805 二进制 'operator <<' 参数太少
fr: 未声明的标识符
get_num 左边必须是 struct/union/class
您应该像这样更改代码的顺序:
class Fraction
{
private:
int num, den;
public:
int get_num()
{
return num;
}
int get_den()
{
return den;
}
};
ostream & operator<<(ostream & os, Fraction & fr)
{
return os << fr.get_num() << '/' << fr.get_den();
}
我正在制作一个 class 具有全局函数用法的分数 我的代码如下所示:
#include<iostream>
using namespace std;
ostream & operator<<(ostream & os, Fraction & fr)
{
return os << fr.get_num() << '/' << fr.get_den();
}
class Fraction
{
private:
int num, den;
public:
int get_num()
{
return num;
}
int get_den()
{
return den;
}
};
主函数调用:`cout << f2 << endl;
但是我在编译时遇到了构建错误:
错误 C2805 二进制 'operator <<' 参数太少
fr: 未声明的标识符
get_num 左边必须是 struct/union/class
您应该像这样更改代码的顺序:
class Fraction
{
private:
int num, den;
public:
int get_num()
{
return num;
}
int get_den()
{
return den;
}
};
ostream & operator<<(ostream & os, Fraction & fr)
{
return os << fr.get_num() << '/' << fr.get_den();
}