C++编程中出现没有找到接受“R”类型的右操作数的运算符

C2679 二进制“<<”: 没有找到接受“R”类型的右操作数的运算符(或没有可接受的转换)*
在c++学习过程中遇见了“<<”的问题,深受困扰不知如何解决,还望指点!
#include “pch.h”
#include
using namespace std;

class R {
int m;
int d;
public:
R(int m = 0, int d = 1) :m(m), d(d) {
cout << m << ‘/’ << d << endl;
}
friend ostream& operator<<(ostream& o, R& x);
R operator++(int) {
R old = *this;
m += d;
return old;
}
};
ostream& operator<<(ostream& o, R& x) {
return o << x.m << ‘/’ << x.d << endl;
}
int main()
{
R a(2, 7);
cout << a++ << endl;//在这里出现了错误
}
错误显示:
错误 C2679 二进制“<<”: 没有找到接受“R”类型的右操作数的运算符(或没有可接受的转换)

发布了13 篇原创文章 · 获赞 2 · 访问量 4304

猜你喜欢

转载自blog.csdn.net/qq_41644888/article/details/95043571
今日推荐