【发布时间】:2014-10-15 11:28:03
【问题描述】:
在 C++ 中,如果您在函数体中定义一个与函数参数之一同名的变量,会发生什么情况?
例如:
static void f(int i)
{
int i;
...
}
函数内部i的定义有什么作用吗?
它会造成任何伤害吗?
您能想到以这种方式编写函数的任何充分理由吗?
【问题讨论】:
-
它不应该编译。本地的
i会影响参数。 -
[它]有什么作用吗?它使代码无法编译。
-
谢谢。我想知道,因为我认为我在现有代码中看到了这一点。原来参数是
varname,而局部变量是var_name。烦人,但在技术上并不坏。 -
你可以自己尝试一下,你知道的。
-
@IsaacMoses 如果你认为你看到了,也许中间有额外的大括号。
{ { int i; } }的答案与{ int i; }的答案不同。