老师,结构体的问题
来源:7-7 自定义类型--结构体与联合体
相信光变成光
2020-12-08
当实例化BST对象时,如果left和right是指针变量不报错,去掉*,则报错,这是为什么?
代码:
#include <iostream> using namespace std; template<typename Key,typename Value> class BST{ private: struct Node{ Key key; Value value; Node left; Node right; Node(Key key,Value value){ this->key=key; this->value=value; this->left=this->right=NULL; } }; int count; Node root; public: BST(){ root=NULL; count=0; } ~BST(){ } }; int main() { BST<string, int> bst = BST<string, int>(); return 0; }
写回答
1回答
-
quickzhao
2020-12-08
当然会报错。你如果不定义指针类型,结构体在此部分的大小对编译器而言是无法计算的,指针的大小是确定的。
00
相似问题
关于结构体的问题
回答 1
老师 ,为什么我这样写,vs提示报错
回答 1
老师,关于结构体内存和CPU位数的问题
回答 1
老师,我这有一个关于结构体的初始化问题
回答 1
老师,关于结构体内存布局的问题
回答 1