Formal Parameters
正式参数
传递给函数的参数是局部变量。其作用域是函数块。正式参数的名称必须与同一函数中定义的外部变量和局部变量不同。可以在函数块中为正式参数分配某些值。如果正式参数使用const修饰符声明,则其值在函数内部不能更改。
示例:
void func(const int & x[], double y, bool z)
{
if(y>0.0 && !z)
Print(x[0]);
...
}正式参数可以通过常量进行初始化。在这种情况下,初始值被视为默认值。除了已初始化的参数外,其他参数也必须进行初始化。
示例:
void func(int x, double y = 0.0, bool z = true)
{
...
}调用此类函数时,可以省略已初始化的参数,使用默认值替代它们。
示例:
func(123, 0.5);简单类型的参数按值传递,即调用函数内部的相应局部变量的修改不会反映到调用函数中。任何类型的数组和结构体类型的数据总是按引用传递。如果必须禁止修改数组或结构体的内容,则这些类型的参数必须用const关键字声明。
有通过引用传递简单参数的可能性。在这种情况下,调用函数内对这些参数的修改将影响通过引用传递的相应变量。为了表明参数按引用传递,在数据类型后加上&修饰符。
示例:
void func(int& x, double& y, double & z[])
{
double calculated_tp;
...
for(int i=0; i<OrdersTotal(); i++)
{
if(i==ArraySize(z)) break;
if(OrderSelect(i)==false) break;
z[i]=OrderOpenPrice();
}
x=i;
y=calculated_tp;
}按引用传递的参数不能用默认值进行初始化。
函数最多可以传递64个参数。
另请参阅
最后更新于