[問題] function的問題
應該是基本的觀念問題,但我沒學好..
就是為何函式傳參數進去但沒有改變原始的值
void dd(int x);
int main()
{
int yes=0;
dd(yes);
cout<<yes;
return 0;
}
void dd(int x)
{
x=50+50;
}
我認為最後yes應該要是100,但還是0,有改寫成
void(int x, int y)
{
x=50+50
y=x;
}
並在main裡用另一個值yes2當第二個參數傳入,最終也沒改變
雖然改成int dd(int x)可以
而如果函式傳兩個以上參數且都需要回傳,改成return陣列也可以
但想知道為何不會改變原始傳進去的值,如: yes
但用一些library,類似OpenCV,類似void cvSmooth(src, dst...) 就可
請問是為什麼? 我哪邊的觀念卡住了?
感恩!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 202.39.79.208
※ 文章網址: http://www.ptt.cc/bbs/C_and_CPP/M.1395739075.A.579.html
※ 編輯: xshane831 來自: 202.39.79.208 (03/25 17:18)
→
03/25 17:20, , 1F
03/25 17:20, 1F
→
03/25 17:31, , 2F
03/25 17:31, 2F
推
03/25 20:29, , 3F
03/25 20:29, 3F
討論串 (同標題文章)