c++在该类中声明该类的变量

标签 c++ class variables

我有以下代码:

template <typename T>
class Node{
public: 
    Node<T>(T data){
        this->data = data;
    }
    T data;
    Node<T> left; 
    Node<T> right;
};

但它不喜欢我如何拥有与它们所在的类相同类型的成员变量,因为编译器不知道“节点”是什么。

最佳答案

你要申报leftright作为Node<T> * :

Node<T> *left;
Node<T> *right;

问题不只是编译器还没有完整的定义,而是你试图说一个节点包含两个其他节点,所以节点的大小没有合理的定义。

关于c++在该类中声明该类的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11182806/

相关文章:

javascript - 如何组合多个 onclick 事件/元素

VBA - 如何声明 "Cell"变量

c++ - 使用 getline fstream 读取文件

c++ - 链接错误 - 功能二叉树,派生类

c++ - 数据类型 inst 转换正确吗?

c++ - 调用void函数问题

javascript,仅在满足特定条件时才更改类

Ruby,在变量名称中使用插值

C++:我可以使用指针超出应用程序内存的范围吗?

c++ - 我在堆栈中的 pop 方法有什么问题?