Parametro attuale const

di il
3 risposte

Parametro attuale const

Mi pare di capire che se passo una costante come parametro attuale ad una funzione, il corrispondente parametro formale deve portare obbligatoriamente l'attributo const.
Ho provato a fare un test ma il compilatore non si lamenta! Come mai?
int somma(int *vv, int nn)
{
...
}

int v[5]={1,2,3,4,5};
const int n=5;
somma(v,n);

3 Risposte

  • Re: Parametro attuale const

    Perché stai passando una copia del valore della variabile, non la variabile stessa.
  • Re: Parametro attuale const

    Oops !! hai ragione!!!!
    Giusto se fosse stato invece:
    mentre se impongo int somma(int *vv, const int& nn) tutto fila liscio
    stessa cosa se inserissi:

    int somma(int *vv, const int *n)
    chiamando la funzione con somma(v,&n)

    l'amico compilatore mi ha confermato il tutto.

    Grazie
  • Re: Parametro attuale const

    Prego
Devi accedere o registrarti per scrivere nel forum
3 risposte