Я пишу двоичное дерево поиска, используя структуру в качестве узла.Мне нужно инициализировать переменные в структуре с помощью конструктора структуры.
У меня есть следующий код, который прекрасно работает:
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';
}
}
Мне нужно инициализировать с помощью конструктора, который принимает аргументы -> 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';
}
}
Так что мой вопрос о передаче аргументов в конструктор для структуры, которая инициализируетструктуры varaibles.Я не могу понять, происходит ли это внутри или вне структуры, или каков правильный синтаксис.Я пытаюсь выполнить то, что делает первый сегмент кода, но сделать это путем передачи аргументов конструктору.Любая помощь будет принята с благодарностью.
Редактировать: Вот ошибки, которые я получаю: