簡體   English   中英

C ++:按值傳遞變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM