¿Por qué no se permiten miembros de datos estáticos en las clases locales?
¿Cuál es el razonamiento de por quéstatic const
@ miembros no pueden existir en clases locales? Parece una restricción bastante tonta.
Ejemplo
void foo() {
struct bar {
int baz() { return 0; } // allowed
static const int qux = 0; // not allowed?!?
};
}
struct non_local_bar {
int baz() { return 0; } // allowed
static const int qux = 0; // allowed
};
Cita del estándar (9.8.4):
Una clase local no tendrá miembros de datos estáticos.