0

在 .h 文件中

ostream& operator <<(ostream &os,const object &);

在 .cpp 文件中

ostream& operator <<(ostream &os,const object &mono)
{
    os << mono.coef<<" *X^"<<mono.degree;
    return os;      
}

我得到的错误:

错误 C2143:语法错误:缺少“;” 在“&”
错误 C4430 之前:缺少类型说明符 - 假定为 int。注意:C++ 不支持默认整数
错误 C2061:语法错误:标识符“ostream”
错误 C4430:缺少类型说明符 - 假定为整数。注意:C++ 不支持 default-int 错误 C2805: binary 'operator <<' has too little parameters

我已经检查了我能找到的每一个 IO 重载教程,但我无法解决这个问题。

编辑:添加 std:: 修复除 "> 错误 C2805 之外的所有错误:二进制 'operator <<' 参数太少" 我不知道这意味着什么

EDIT2:将函数声明为朋友解决了这个问题。感谢大家!

4

2 回答 2

1

您正在使用ostream没有使用命名空间限定它std::

利用

std::ostream& operator <<(std::ostream& os,const object& mono)

于 2013-08-12T18:55:32.213 回答
0

我想你错过了friend关键字。

我向您推荐官方文档: http ://en.cppreference.com/w/cpp/language/operators

你也错过了using namespace std;or std::ostream&

我希望你这个答案能帮助你解决问题。

于 2016-10-26T08:06:51.930 回答