老师,结构体的问题
来源: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