With
void DoWork(int n);
n
is a copy of the value of the actual parameter, and it is legal to change the value of n
within the function. With
void DoWork(const int &n);
n
is a reference to the actual parameter, and it is not legal to change its value.