No entiendo la última línea del ejemplo de la página 148 de la FCD (§7.6.1.2/4):decltype y paréntesis
const int&& foo();
int i;
struct A { double x; };
const A* a = new A();
decltype(foo()) x1 = i; // type is const int&&
decltype(i) x2; // type is int
decltype(a->x) x3; // type is double
decltype((a->x)) x4 = x3; // type is const double&
¿Por qué los paréntesis hacen una diferencia en este caso? ¿No debería simplemente ser double
como en la línea de arriba?
Pero eso no explica la const :) – fredoverflow
@FredOverflow: ¿También: 'a' tiene tipo' const A * ' – Cubbi
¿Cómo no he visto la const ??? Gracias :) – fredoverflow