我有以下类:
class mypipe {
class node {
public:
char ch;
node* next;
node(){...}
node(char c){..}
} ;
public:
unsigned int size;
node* head;
,我需要重载操作符<<来打印现在的mypipe。
然后,我试着写以下内容:
friend ostream& operator<< (ostream& stream, mypipe p) {
node* curr = p.head -> next;
...
紧随变量定义之后。
问题是,我得到一个错误"标识符节点是未定义的"。
我试图声明操作符并在类之外实现它,但没有帮助。
有人有什么想法吗?
提前感谢任何可以帮助的人:)
node
是一个内部类,这意味着您必须限定它的类型:
mypipe::node* curr = p.head -> next;