函数定义中的参数名称可以与C++中函数调用中传递给它的参数名称相同吗?
Can the names of parameters in function definition be same as the name of arguments passed to it in the function call in C++?
假设我们有一个函数如下:
int add(int num1, int num2) {
num1 += num2;
return num1;
}
现在,我通过传递与 add 函数中的参数同名的参数来调用上述函数。
int num1 = 10;
int num2 = 10;
int result = add(num1, num2)
这样做对吗?代码编译正确但我不确定我做的是否正确?
是的,您在函数调用中传递的变量名称可以与函数定义中的参数名称相同。函数参数的范围在函数块中开始和结束,因此编译器可以将定义在不同范围的两个(或更多)变量分开,即使它们具有相同的名称。
您可以通过传递具有相同名称 (add(num1, num2)
)、不同名称 (add(x, y)
) 或根本没有名称 (add(3, 4)
) 的变量来调用您的函数。
请参阅 C++ Scope 参考中的 函数参数范围 部分。
假设我们有一个函数如下:
int add(int num1, int num2) {
num1 += num2;
return num1;
}
现在,我通过传递与 add 函数中的参数同名的参数来调用上述函数。
int num1 = 10;
int num2 = 10;
int result = add(num1, num2)
这样做对吗?代码编译正确但我不确定我做的是否正确?
是的,您在函数调用中传递的变量名称可以与函数定义中的参数名称相同。函数参数的范围在函数块中开始和结束,因此编译器可以将定义在不同范围的两个(或更多)变量分开,即使它们具有相同的名称。
您可以通过传递具有相同名称 (add(num1, num2)
)、不同名称 (add(x, y)
) 或根本没有名称 (add(3, 4)
) 的变量来调用您的函数。
请参阅 C++ Scope 参考中的 函数参数范围 部分。