繁体   English   中英

在C ++函数中定义已经是参数名称的变量

[英]Defining a variable in a C++ function that's already an argument name

在C ++中,如果在函数主体中定义一个与函数自变量之一同名的变量,会发生什么情况?

例如:

static void f(int i)
{
    int i;

    ...

}

函数中i的定义有什么作用吗?

会造成伤害吗?

您有什么充分的理由可以想到以这种方式编写函数吗?

根据C ++标准

参数名称不得在函数定义的最外层块或与function-try-block相关的任何处理程序的最外层块重新声明

在这种情况下,编译器应发出诊断消息。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM