我正在使用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