[英]C++: pass variable by value
這種情況:
int f(int a){
...
g(a);
...
}
void g(int a){...}
問題在於編譯器說沒有匹配函數可用於調用g(int&)。 它希望我通過引用傳遞變量,而g()通過值接收參數。
我該如何解決?
嗯,這里沒有太多,但第一件事是:確保在定義f之前包含g的聲明。
void g(int a);
否則,當您進入f時,函數f不知道函數g是什么樣子,您會遇到麻煩。 到目前為止,我能說的是最好的。
您的函數g()
需要在f()
之上定義
有兩件事是錯誤的:
1)g在使用前未聲明,因此編譯器會對此進行比較。 假設您已解決該問題,那么下一個問題是:
2)f不返回整數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.