C++:按值传递变量

Ger*_*rdo 0 c++

情况就是这样:

int f(int a){
    ...
    g(a);
    ...
}

void g(int a){...}
Run Code Online (Sandbox Code Playgroud)

问题是编译器说没有匹配函数来调用g(int&).它希望我通过引用传递变量,g()按值接收参数.

我怎么解决这个问题?

Mic*_*hne 12

嗯,这里没什么,但首先是:确保你在定义f之前有一个包含g的声明.

void g(int a);
Run Code Online (Sandbox Code Playgroud)

否则,当你到f时,函数f不知道g看起来是什么函数,你会遇到麻烦.从你到目前为止所给出的,这是我能说的最好的.