【发布时间】:2013-11-17 20:01:30
【问题描述】:
我正在尝试重载我的
std::ostream& operator<<(std::ostream& out, const Polynomial &rhs)
{
Polynomial::Node *p = rhs.root;
rhs.printPoly(p, out);
return out;
}
void Polynomial::printPoly(Node* p, std::ostream &out)
{
if(p == nullptr)
return;
printPoly(p->left, out);
out << p->item->coeff() << "x^" << p->item->x();
printPoly(p->right, out);
}
在 .h 文件中
friend std::ostream& operator<<(std::ostream& out, const Polynomial& rhs);
哦,这是错误:
no matching function for call to 'Polynomial::printPoly(Polynomial::Node*&, std::ostream&) const'
【问题讨论】:
标签: c++ operator-overloading friend-function