[英]passing internal variables to a struct constructor C++
我正在使用結構作為節點編寫二進制搜索樹。 我需要使用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';
}
}
我需要使用帶有參數的構造函數進行初始化-> TreeNode(char *名稱,int賄賂,TreeNode *左,TreeNode *右)我嘗試了類似於我所看到的示例的以下操作,但出現一些錯誤:
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';
}
}
所以我的問題是關於將參數傳遞給構造函數的構造函數,以初始化結構變量。 我似乎無法弄清楚這是在結構內部還是外部,或者正確的語法是什么。 我正在嘗試完成第一個代碼段的工作,但是通過將參數傳遞給構造函數來實現。 任何幫助將不勝感激。
編輯:這是我得到的錯誤:
您應該使用C ++中的成員初始化器列表來初始化您的類成員。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.