为什么下面的代码在通过引用传递时没有显示错误

时间:2019-06-07 15:31:42

标签: c++ pass-by-reference

在主函数中,我创建了一个局部变量x。然后通过引用它传递给fun函数。函数声明为int fun(int &x); 但我不了解局部变量如何传递给fun函数。 如果它为int &x=x,其中第一个x是形式参数,第二个x是局部变量。尽管语句int &x=x在函数中显示错误。但是为什么这里没有显示任何错误或警告。如果有人听不懂我的问题。请给我有关如何将引用变量传递给函数的详细信息。我想添加的另一件事是这个。是否会在内存中创建参考变量

#include<iostream>
using namespace std;

int fun(int &x)
{
    return x;
}
int main()
{
    int x=10;
    cout << fun(x);
    return 0;
}

1 个答案:

答案 0 :(得分:1)

您的函数通过x读取&并返回其值的副本,因此它没有任何问题