在定义类之前如何使用类?

Pra*_*are 7 c++ pointers class

class Node
{
    string name;
    Node previous;
};
Run Code Online (Sandbox Code Playgroud)

 Error: Node::previous uses "Node" which is being defined.
Run Code Online (Sandbox Code Playgroud)

如何在C++中使用它?它适用于C#.

编辑:

为何Node* previous有效?

Cos*_*ert 10

使用指针.Node* previous;会解决问题.

正如你现在所做的那样,你实际上试图让你的课堂无限大.


Uri*_*Uri 8

使用指针或引用.

例如:

Node* previous;
Run Code Online (Sandbox Code Playgroud)

唯一的限制是一个类不能有自己的实际领域,可能是出于建设原因.想一想,如果每个Box里面都包含另一个Box,你最终会得到有限数量的盒子吗?

如果我没有弄错,C#只使用类类型的引用(就像Java一样),所以你在那里使用引用,只是没有看到它.


Nav*_*een 5

对于编辑,想一想,你的node另一个node包含另一个内部.所以你有一个彼此包含的无限节点序列.你想要的是指向下一个node存储位置的指针.所以你应该把它改成Node*.