作者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
1F:→ weiyucsie:需要传test的位址进去,利用此位址更动对应位置的数值 07/14 12:24
2F:→ hpeter:xxx( 3, (void*)&test ); ?? 07/14 12:24
3F:→ DRLai:我有尝试过用&..但一样没有用,该怎麽传入位址呢?y 07/14 12:25
4F:→ hpeter:查一下 call by address 07/14 12:27