我在引用方面有些生疏,但我知道它们只是变量的另一个名称。如果你有一个同名的推荐信呢?它为什么会起作用?
例如:
foo(int &a) {
printf(a);
}
main() {
int a;
foo(a);
}谢谢
发布于 2013-10-17 01:36:20
“为什么它会工作/不起作用?”
就您论点的名称而言:是,它将起作用。a在main中是一个局部变量,引用该变量的标识符a仅在同一范围内有效。在foo中,有一个参数a,但是这个a不同于第一个标识符。
PS:我假设:
printf(a);应该是:
printf("%d", a);发布于 2013-10-17 01:44:13
是的,会起作用的。int &a是函数的局部变量,它只接受传递给它的引用,它的作用域仅限于这个函数,而主函数中的a在主函数中有作用域。
https://stackoverflow.com/questions/19416797
复制相似问题