Dan*_*man 0 c++ operator-overloading operator-keyword
我有以下课程:
class mypipe {
class node {
public:
char ch;
node* next;
node(){...}
node(char c){..}
} ;
public:
unsigned int size;
node* head;
Run Code Online (Sandbox Code Playgroud)
我需要重载运算符<<,以便像现在一样打印mypipe.
然后,我正在尝试编写以下内容:
friend ostream& operator<< (ostream& stream, mypipe p) {
node* curr = p.head -> next;
...
Run Code Online (Sandbox Code Playgroud)
变量定义后立即.
问题是我收到错误"标识符节点未定义".
我试图声明运算符并在类之外实现它,这没有帮助.
有没有人有任何想法?
提前感谢任何可以帮助的人:)
node 是一个内部类,这意味着你必须限定它的类型:
mypipe::node* curr = p.head -> next;
Run Code Online (Sandbox Code Playgroud)