簡體   English   中英

將內部變量傳遞給結構構造函數C ++

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM