Normal parameters are copies of their arguments. Reference paramters (denoted with &), are aliases. Changing normal parameters does not change the argument. Changing reference parameters does.
Note that neither constants nor expressions can be sent to reference parameters. Neither of f2(33) nor f2(m+2); will compile.