在.h文件中
ostream& operator <<(ostream &os,const object &);
在.cpp 文件中
ostream& operator <<(ostream &os,const object &mono)
{
os << mono.coef<<" *X^"<<mono.degree;
return os;
}
我遇到的错误:
error C2143: syntax error : missing ';' before '&'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
error C2061: syntax error : identifier 'ostream'
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int error C2805: binary 'operator <<' has too few parameters
我已经检查了所有我能找到的 IO 重载教程,但我无法解决这个问题。
编辑:添加 std::修复了除“> error C2805: binary 'operator <<' has too few parameters”之外的所有错误 我不知道那是什么意思
EDIT2:作为 friend 声明函数解决了这个问题。 谢谢大家!
最佳答案
您正在使用 ostream
没有用命名空间 std::
限定它
使用
std::ostream& operator <<(std::ostream& os,const object& mono)
关于c++ - IO运算符重载错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18194489/