listnode(int node_data):data(node_data),next_node(NULL){}
listnode():next_node(NULL){head=now=this;}
static void add_node(int new_data); //新增節點
static void show_all_node(); //顯示所有節點
static void delete_node(int delete_data); //刪除節點
};
listnode *listnode::now; //宣告類別資料成員
const listnode *listnode::head; //不變的
..
..
..
void listnode::delete_node(int delete_data)
{
listnode *prenode;
listnode *targetnode;
prenode=new listnode;
// targetnode=new listnode;
if(head==targetnode)
head=targetnode->next_node;
prenode->next_node=targetnode;
//尋找刪除的節點
//還沒找到
while(targetnode->data!=delete_data)
{
targetnode=targetnode->next_node;
prenode->next_node=targetnode;
}
prenode->next_node=targetnode->next_node;
delete targetnode;
} 我在跑這段程式
出現說 '參考記憶體不能read'
是不是我point 那裡錯了?? 謝謝
--
◎ [1;31m龍 [32m貓 [33m資 [34m訊 [35m天 [36m地 [0m( [1mbbs.mgt.ncu.edu.tw [0m)
◎[ [1;33;46mcott [0m]From: 221049.D14-221.ncu.edu.tw
不配置新的記憶體的話,至少指到一個listnode物件才有意義吧?
> if(head==targetnode)
> head=targetnode->next_node;
這一段怪怪的
targetnode不是null嗎?
如何取它的成員呢?
> prenode->next_node=targetnode;
> //尋找刪除的節點
> //還沒找到
> while(targetnode->data!=delete_data)
> {
> targetnode=targetnode->next_node;
> prenode->next_node=targetnode;
> }
> prenode->next_node=targetnode->next_node;
> delete targetnode;
> } 我在跑這段程式
> 出現說 '參考記憶體不能read'
不知道有沒有幫助
--
※ Origin: 楓橋驛站<bbs.cs.nthu.edu.tw> ◆ From: ie55163.ie.nthu.edu.tw