0
void insert_KD_tree(noKD **tree, Queue *queue, int counter) {
if ((*tree)!=NULL) {
*tree = new_KD_node(queue->first->pointer,NULL,NULL);
}
else if (((*tree)->pointer[counter]) > (queue->first->pointer[counter])) {
counter++;
insert_KD_tree(&(*tree)->left,queue);
}
else {
counter++
insert_KD_tree(&(*tree)->right,queue,counter);
}
pop(queue);
}
好吧,所以這基本上是二叉樹插入函數,但是用於插入數組到節點。 數組存儲在隊列中,但我遇到指向指針的指針問題。 當我嘗試使用gdb訪問數組時,它給出消息,它無法訪問內存位置0x10
,但如果我嘗試訪問它的另一個函數,它顯示我的位置就好了,我可以訪問數組。Kdtree插入函數
我注意到問題是指向指針的指針,如果我在調用insert_KD_function
時只放一個asteric,我的程序可以訪問tree->指針而不會有任何問題。 所以這個問題與指向指針的指針有關,它以某種方式丟失指針引用。
任何人都可以幫助我嗎?
當你創建一個新的樹節點時,是否將'left'和'right'指針初始化爲'NULL'? –