我正在使用struct作为节点编写二叉搜索树。我需要使用struct构造函数初始化struct中的变量。
我有以下代码可以正常工作:
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';
}
}
我需要使用带参数的构造函数初始化 - &gt; TreeNode(char * name,int bribe,TreeNode * left,TreeNode * right) 我尝试了以下类似于我看到的示例,但我收到了一些错误:
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';
}
}
所以我的问题是将参数传递给构造函数,以获取初始化结构变量的结构。我似乎无法弄清楚这是发生在stuct内部还是外部,或者正确的语法是什么。我试图通过将参数传递给构造函数来完成第一个代码段的功能。任何帮助将不胜感激。
编辑: 以下是我得到的错误: