我有两个不同的运算符重载。由于某种原因,它给出了错误。如果我删除其中一个,则它不会显示任何错误。我可以知道为什么吗?
我可以将两者结合起来吗?
这用于在屏幕上打印。
ostream& operator<<(ostream &out, const Point &p) {
return out << "[" << setw(4) << p.getX() << setw(1) << "," << setw(4) << p.getY() << "] " << setprecision(3) << p.getScalarValue() << endl;
}
这用于在文本文件上打印。
ofstream& operator<<(ofstream &out, const Point2D &p){
return out << "[" << setw(4) << p.getX() << setw(1) << "," << setw(4) << p.getY() << "] " << setprecision(3) << p.getScalarValue() << endl;
}
错误:
Point.cpp:91:147:错误:从类型“std::basic_ostream::__ostream_type {aka std::basic_ostream}”的表达式中对类型“std::ofstream& {aka std::basic_ofstream&}”的引用无效初始化< /p>