我在课堂上有朋友的功能。 (在头文件head.h中)我已经在head.cpp 和head.h以外的类中实现了我有ostream &运算符< <(ostream & out,TreeNode * ptr);我也在head.cpp中实现了。那有什么问题吗?未定义的运算符<< ....是指什么?在c + +
头文件
friend ostream& operator<< (ostream& out, const TreeDB& ptr);
ostream& operator<< (ostream& out, TreeNode* ptr);
实施
ostream& operator<< (ostream& out, TreeNode* ptr)
{
if(rhs!=NULL)
{
operator<<(out,ptr->Left());
out<<(*(ptr->Entry()));
operator<<(out,ptr->Right());
}
return out;
}
ostream& operator<< (ostream& out, const TreeDB& ptr)
{
return (operator<<(out,ptr.root));
}
错误:未定义参照 '操作符< <(标准:: basic_ostream> &,DBentry常量&)'
DBentry是另一类操纵数据库条目
为什么不告诉我们你的实际代码而不是描述它? – NPE
您将得到“未定义的引用...“链接器的错误消息,它可以表明你链接你的项目时错过了一个文件 –
,因为我不认为这个错误是由于逻辑错误而发生的,它关于声明部分的一些东西 – user1722022