Pourquoi pouvez-vous faire cela
int a;
const double &m = a;
Mais quand vous faites ça
int a;
double &m = a;
vous obtenez une erreur ?
error: non-const lvalue reference to type 'double' cannot bind to a value of unrelated type 'int'
Edit :
Pour être plus précis, j'essaie de comprendre pourquoi les références non-const ne peuvent pas lier les objets temporaires.