IO操作员过载错误
IO operator overloading error
In.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++不支持默认int
错误C2061:语法错误:标识符"ostream"
错误C4430:缺少类型说明符-假定为int。注意:C++不支持默认的int错误C2805:二进制运算符<lt;'参数太少
我已经检查了我能找到的每个IO过载教程,但我无法修复这个问题。
EDIT:添加std::修复了除">错误C2805之外的所有错误:二进制'operator<<'的参数太少"我不知道是什么意思
EDIT2:将函数声明为朋友解决了这个问题。谢谢大家!
您使用的是ostream
,而没有使用命名空间std::
限定它
使用
std::ostream& operator <<(std::ostream& os,const object& mono)
我想您错过了friend
关键字。
我向您推荐官方文件:http://en.cppreference.com/w/cpp/language/operators
你还错过了using namespace std;
或std::ostream&
。
我希望这个答案能帮助你解决问题。
相关文章:
- 为什么我的作业操作员给出了损坏错误
- 操作员=在两个std :: chrono :: time_point引起错误之间
- 无操作员错误代码
- 在定义C2679和C2678错误代码的地方未找到二进制操作员
- 使用流操作员构建错误
- 错误:“操作员^”无匹配
- 使用多个操作员与操作员重载会产生奇怪的错误
- 使用%操作员时双重错误
- 错误:“ const char*”类型的操作数和“ const char [7]”类型为二进制“操作员 ”
- 新的操作员帮助,类型分配器和其他错误
- 学习OOP:超载 OR =操作员错误
- 为什么我无法使错误操作员()无法超载
- 通过使用新操作员创建对象会导致未解决的外部符号错误C FTGL
- &lt;&lt;操作员在C 中超载错误
- 使用单词变化C 不是操作员时的奇怪错误
- 在模板类中专门定义错误的朋友操作员
- C 模板错误无匹配操作员过载
- 超载流提取操作员错误
- 操作员无匹配==错误,C
- 在尝试超载&lt;&lt;时链接错误2005和1169操作员