首页 > 解决方案 > 为什么下面的代码在通过引用传递时不显示错误

问题描述

在主函数中,我创建了一个局部变量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;
}

标签: c++pass-by-reference

解决方案


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


推荐阅读