我想在C++中創建一個三元樹,它讀取一個文件並根據它讀取的單詞創建樹。每個節點都有一個字符,然後是文件中以該字符開始的所有單詞列表,父指針,左指針,左指針和右指針。使用它的結構指針訪問函數內的結構
在我的節目,我有結構:
struct node_t{
node_t *parent;
node_t *left1;
node_t *left2;
node_t *right;
char letter;
vector<string> wordList;
int lineCount;
};
,我有原型插入一個字
int insertWord(ifstream &dataFile, node_t *parent, char myLetter);
然後在主我調用一個函數insertWord
if (insertWord(dataFile, &root, ch) == 0{
//if no errors occurred in function do something
}
然後,在insertWord中,如果單詞屬於父數組,則嘗試向我的父節點的向量Array添加單詞:
parent->wordList.push_back(word);
當我嘗試在main中打印出列表時,它沒有將該單詞添加到列表中。當我用insertWord打印出來的時候,它確實將這個詞添加到了列表中。 我知道這是一個指針問題,但我只是看不到我做錯了什麼。我沒有發佈我的所有代碼,因爲它有這麼多。
任何關於如何成功將我的單詞添加到列表中的想法,以便它打印出主?
您正確地訪問它。您可能試圖從錯誤的對象打印,或者父母不指向您認爲它的對象。 – 2014-09-27 21:48:12