Parametri Formali

I parametri passati alla funzione sono locali. Il campo di applicazione è il blocco della funzione. Parametri formali devono avere nomi diversi da quelli delle variabili esterne e variabili locali definite all'interno di una funzione. Alcuni valori possono essere assegnati ai parametri formali nel blocco della funzione. Se un parametro formale viene dichiarato con il modificatore const, il suo valore non può essere modificato all'interno della funzione.

Esempio:

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

Parametri formali possono essere inizializzati da costanti. In questo caso, il valore di inizializzazione viene considerato come valore predefinito. Parametri, accanto a quelli inizializzati, devono anch'essere inizializzati.

Esempio:

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

Quando si chiama una funzione, i parametri inizializzati possono essere omessi, quelli di default vengono sostituiti al loro posto.

Esempio:

func(1230.5);

Parametri di tipo semplice sono passati per valore, ad. es., modifiche della corrispondente variabile locale di questo tipo all'interno della funzione chiamata non si rifletteranno nella funzione chiamante. Array di qualsiasi tipo e dati del tipo struttura, vengono sempre passati per riferimento. Se è necessario vietare, modificando il contenuto dell'array o struttura, i parametri di questo tipo devono essere dichiarati con la parola chiave const.

Vi è la possibilità di passare i parametri di tipo semplice, per riferimento. In questo caso, la modifica di tali parametri all'interno della funzione chiamante influenzerà le corrispondenti variabili passate per riferimento. Per indicare che un parametro viene passato per riferimento, mettere il modificatore & dopo il tipo di dato.

Esempio:

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;
  }

I parametri passati per riferimento, non possono essere inizializzati con i valori predefiniti.

Un massimo di 64 parametri può essere passato in una funzione.

Vedi anche

Variabili di Input, Tipi di dato, Incapsulamento ed Estensibilità dei Tipi,Inizializzazione delle Variabili, Visibilità Campo di Applicazione e Durata delle Variabili, Creazione ed Eliminazione di Oggetti