Hola.
En el caso que se utilize el modificador
const, cualquier intento de alterar el valor del argumento dentro de la función generará un error en tiempo de compilación. Es decir que permanecerá en su estado original, no se le permite salir de él en ese ámbito.
Si lo que deseas es darle uso dentro de la funcion y que no se modifique el valor de la variable enviada tenes que pasarla por valor:
#include <iostream>
using namespace std;
void f(int v){
v = -5;
}
int main()
{
int x = 10;
f(x);
cout << x; /* muestra 10, el valor no fue alterado */
cin.get();
return 0;
}
Si en el último ejemplo el parámetro
v hubiera estado precedido por el referenciador
&, se habría alterado el contenido de
x y su valor final sería -5.
Saludos.