[問題] 關於void *一問

看板C_and_CPP (C/C++)作者 (蘇打)時間16年前 (2009/07/14 12:21), 編輯推噓0(004)
留言4則, 3人參與, 最新討論串1/3 (看更多)
想請問,有辦法更改void *的值嗎? 我有一個function定義如下 bool xxx( long id, void *arg ) { long new_test = 3; arg = (void*)new_test; return true; } 主程式如下 int main() { long test = 5; cout<<"目前的test: "<<test<<endl; xxx( 3, (void*)test ); cout<<"目前的test: "<<test<<endl; return 0; } 而呼叫時,我希望透過這個function能改變test的值 不過似乎有地方寫錯,導致test的值不會改變 請高手給個方向讓我參考一下 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.138.145.212

07/14 12:24, , 1F
需要傳test的位址進去,利用此位址更動對應位置的數值
07/14 12:24, 1F

07/14 12:24, , 2F
xxx( 3, (void*)&test ); ??
07/14 12:24, 2F

07/14 12:25, , 3F
我有嘗試過用&..但一樣沒有用,該怎麼傳入位址呢?y
07/14 12:25, 3F

07/14 12:27, , 4F
查一下 call by address
07/14 12:27, 4F
文章代碼(AID): #1AN0VO4i (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1AN0VO4i (C_and_CPP)