作者DRLai (蘇打)
看板C_and_CPP
標題[問題] 關於void *一問
時間Tue Jul 14 12:21:43 2009
想請問,有辦法更改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