看板 C_and_CPP 關於我們 聯絡資訊
想請問,有辦法更改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
weiyucsie:需要傳test的位址進去,利用此位址更動對應位置的數值 07/14 12:24
hpeter:xxx( 3, (void*)&test ); ?? 07/14 12:24
DRLai:我有嘗試過用&..但一樣沒有用,該怎麼傳入位址呢?y 07/14 12:25
hpeter:查一下 call by address 07/14 12:27