Parâmetros Formais

Parâmetros passados para a função são locais. O escopo é de bloco de função. Parâmetros formais devem ter nomes diferentes de variáveis ​​externas e variáveis ​​locais definidas dentro de uma função. Alguns valores podem ser atribuídos a parâmetros formais no bloco de função. Se um parâmetro formal é declarado com o modificador const , seu valor não pode ser modificado dentro da função.

Exemplo:

void func(const int & x[], double y, bool z)
  {
   if(y>0.0 && !z)
      Print(x[0]);
   ...
  }

Parâmetros formais podem ser inicializados por constantes. Neste caso, o valor de inicialização é considerado como o valor default (padrão). Parâmetros, próximos ao parâmetro inicializado, também devem ser inicializados.

Exemplo:

void func(int x, double y = 0.0, bool z = true)
  {
   ...
  }

Ao chamar tal função, os parâmetros inicializados podem ser omitidos, os valores default serão usados no lugar deles.

Exemplo:

func(1230.5);

Parâmetros de tipos simples são passados por valor, isto é, modificações da correspondente variável local deste tipo dentro da função chamada não irá se refletir na função chamadora. Arrays de qualquer tipo e dados do tipo estrutura são passados sempre por referência. Se for necessário proibir modificações no conteúdo de um array ou estrutura, os parâmetros destes tipos devem ser declarados com a palavra-chava const.

Existe a possibilidade de passar parâmetros de tipos simples por referência. Neste caso, modificações nestes parâmetros de dentro da função chamada afetarão as variáveis correspondentes passadas por referência. A fim de indicar que um parâmetro é passado por referência, coloque o modificador & após do tipo do parâmetro.

Exemplo:

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)==falsebreak;
      z[i]=OrderOpenPrice();
     }
   x=i;
   y=calculated_tp;
  }

Parâmetros passados por referência não podem ser inicializados por valores default.

No máximo 64 parâmetros podem ser passado para um função.

Também Veja

Variáveis de Entrada, Tipo de Dados, Encapsulamento e Extensibilidade de Tipos, Inicialização de Variáveis, Visibilidade Escopo e Tempo de Vida de Variáveis, Criando e Excluindo Objetos