c++ - C++ 引用参数可以与参数同名吗?

标签 c++ reference

我对引用生疏了,但我知道它们只是变量的另一个名称。离开那个,如果你有一个同名的引用怎么办?为什么会起作用/不起作用?

例如:

foo(int &a) {
   printf(a);
}
main() {
   int a;
   foo(a);
}

谢谢

最佳答案

“为什么它会起作用/不起作用?”

就您的论点名称而言:,它会起作用。 main中的a是一个局部变量,标识符a,指的是这个变量只在同一个作用域内有效。在 foo 中,有一个参数 a,但是这个 a 是与第一个不同的标识符。


PS:我认为这是:

printf(a);

本来是:

printf("%d", a);

关于c++ - C++ 引用参数可以与参数同名吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19416797/

相关文章:

c++ - C++ 编译器如何在 C++0x 中实现线程本地存储?

c++ - 如何修复此警告 : warning #1011: missing return statement at end of non-void function "G"?

c++ - 使用升压锁进行 RAII 对信号量的访问

c# - 如何在 C# 中使用 Word 文档

c# - 乘法运算符重载修改原始变量(C#)?

c++ - vector.insert(...) 调用构造函数还是赋值运算符?

c++ - 牛顿法实现

python - Python 可变对象中的引用与赋值

javascript - 在 Javascript 中按值传递变量

c++ - 用于 C++ 运算符重载的 Python 绑定(bind)