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 lainlinea palabra clave @ o el inicializador de miembro predeterminado funciona. Pero solo por el resultado, no entiendo por qué este uso es incorrecto.

Respuestas a la pregunta(1)

Su respuesta a la pregunta