Paramètres Formels

Les paramètres passés à une fonction sont locaux. La portée est le bloc de la fonction. Les paramètres formels doivent avoir des noms différents des variables externes et des variables locales définies dans une fonction. Certaines valeurs peuvent être assignées aux paramètres formels dans le bloc de la fonction. Si un paramètre formel est déclaré avec le modificateur const, sa valeur ne peut pas être changée dans la fonction.

Exemple :

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

Les paramètres formels peuvent être initialisés avec des constantes. Dans ce cas, la valeur d'initialisation est considérée comme la valeur par défaut. Les paramètres suivant les paramètres initialisés, doivent également être initialisés.

Exemple :

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

Lors de l'appel à une telle fonction, les paramètres initialisés peuvent être omis, les valeurs par défaut se substituant à eux.

Exemple :

func(1230.5);

Les paramètres de types simples sont passés par valeur, c'est à dire que les modifications de la variable locale correspondante de ce type dans la fonction appelée ne seront pas reflétées dans la fonction appelante. Les tableaux de n'importe quel type et les données de type structure sont toujours passés par référence. S'il est nécessaire d'interdire la modification du tableau ou du contenu d'une structure, les paramètres de ces types doivent être déclarés avec le mot-clé const.

Il est possible de passer les paramètres de types simples par référence. Dans ce cas, la modification de ces paramètres dans la fonction appelante affectera les variables correspondantes passées par référence. Pour indiquer qu'un paramère est passé par référence, indiquez le modificateur & après le type de la donnée.

Exemple :

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

Les paramètres passés par référence ne peuvent pas être initialisés par des valeurs par défaut.

Un maximum de 64 paramètres peuvent être passés à une fonction.

Voir aussi

Variables d'Entrée, Types de Données, Encapsulation et Extension des Types,Initialisation des Variables, Portée de Visibilité et Cycle de Vie des Variables, Créer et Supprimer des Objets