尝试创建简单的父/子节点类,但遇到不允许不完整类型的错误。为什么?
class Node {
public:
Node ParentNode; //Error on this line
string NodeName;
Node(Node *node) : ParentNode(*node) {
}
};
Run Code Online (Sandbox Code Playgroud)
你在尝试:
Node ParentNode; //Error on this line
Run Code Online (Sandbox Code Playgroud)
但此时 Node 还不是一个完整的类型(实际上您此时正在定义它),结构不能包含其自身的实例,它可以包含对其自身实例的指针或引用,但不能包含实际实例。毕竟,如果允许这种递归遏制,它会在哪里结束?
| 归档时间: |
|
| 查看次数: |
29568 次 |
| 最近记录: |