看板 C_and_CPP 關於我們 聯絡資訊
bool xxx( long id, void *arg ) { long new_test = 3; *(long*)arg = new_test; return true; } int main() { long test = 5; cout<<"目前的test: "<<test<<endl; xxx( 3, (void*)&test ); cout<<"目前的test: "<<test<<endl; return 0; } 這樣傳應該可以改~變成3 ※ 引述《DRLai (蘇打)》之銘言: : 想請問,有辦法更改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.113.207.187
DRLai:剛剛改了一下,最後的輸出結果還是沒有變orz 07/14 12:32
DRLai:阿~有改變,我看錯了@@感謝m(_ _)m 07/14 12:33