Perché media accetta un riferimento ad un float per il parametro valore, per cui è obbligatorio che la variabile passata sia un float.
Se fosse stato un parametro "normale" (che di fatto viene copiato) al momento della chiamata a funzione l'int sarebbe stato convertito in float al momento di copiarlo nel parametro e fine; con i parametri per riferimento questo non è possibile.