我想在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