0

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

例如:

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

谢谢

4

2 回答 2

4

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

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


PS:我假设这是:

printf(a);

本来是:

printf("%d", a);
于 2013-10-17T01:36:20.650 回答
0

是的,它会工作..int &a是函数的局部变量,它只会接收传递给它的引用,它的范围仅限于此函数,而a在 Main 函数中,在 main 函数中具有范围。

于 2013-10-17T01:44:13.480 回答