我正在使用struct作为节点来编写二叉搜索树。我需要用struct构造函数初始化结构体中的变量。将内部变量传递给结构构造函数C++
我有下面的代码工作得很好:
struct TreeNode{
char name[20];
int bribe;
TreeNode* left;
TreeNode* right;
TreeNode()
{
bribe = '\0';
left = NULL;
right = NULL;
for (int i = 0; i < 20; i ++){
name[i]= '\0';
}
}
我需要有一个构造函数的参数初始化 - > 树节点(字符*名称,INT贿赂,树节点*左,树节点*右) 我想这是类似于我看到了一个例子,但我得到了一些错误的情况如下:
struct TreeNode{
char name[20];
int bribe;
TreeNode* left;
TreeNode* right;
TreeNode(char* name, int bribe, TreeNode* left, TreeNode* right);
};
TreeNode::TreeNode(char* name, int bribe, TreeNode* left, TreeNode* right){ //***check this
bribe = '\0';
left = NULL;
right = NULL;
for (int i = 0; i < 20; i ++){
name[i]= '\0';
}
}
所以我的问题是关于传递参数给一个构造函数初始化的结构varai一个struct统计局。我似乎无法弄清楚,如果这发生在内部或外部,或者正确的语法是什么。我试图完成第一个代码段的工作,但是通过将参数传递给构造函数来完成。任何帮助将不胜感激。
编辑: 下面是我收到的错误:
请告诉我们错误是什么,以及导致错误的原因。这会帮助我们帮助你。 –
除了关于成员初始值设定项列表的答案,有没有听说过“this”关键字? –
我附上上面的错误,我尝试了与“this”关键字相同的实现,仍然有相同的错误。 – user813611