Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我对引用生疏了,但我知道它们只是变量的另一个名称。离开那个,如果你有一个同名的参考怎么办?为什么它会起作用/不起作用?
例如:
foo(int &a) { printf(a); } main() { int a; foo(a); }
谢谢
“为什么它会起作用/不起作用?”
就您的论点名称而言:是的,它会起作用。ain main 是一个局部变量,identifier引用这个a变量只在同一个作用域内有效。在foo中,有一个参数a,但这a与第一个标识符不同。
a
foo
PS:我假设这是:
printf(a);
本来是:
printf("%d", a);
是的,它会工作..int &a是函数的局部变量,它只会接收传递给它的引用,它的范围仅限于此函数,而a在 Main 函数中,在 main 函数中具有范围。
int &a