inline variable de miembro estático
struct sa
{
struct sb { int a = 123;};
inline static sb b;
};
El código anterior genera un error:
main.cpp:25:20: error: default member initializer for ‘sa::sb::a’ required before the end of its enclosing class
inline static sb b;
^
main.cpp:24:21: note: defined here
struct sb { int a = 123;};
^~~~~~
La eliminación de lainline
a palabra clave @ o el inicializador de miembro predeterminado funciona. Pero solo por el resultado, no entiendo por qué este uso es incorrecto.