Синтаксис, который вы использовали, недопустим для инициализации вложенных struct
s. См. здесь -> Вложенный раздел инициализации - для правильного синтаксиса.
Ниже приведены действительные альтернативы того, чего вы пытаетесь достичь.
Использование обозначений ...
struct Glove glove = {
.index = {
.pin = 20
},
.middle = {
.pin = 22
},
.ring = {
.pin = 24
},
.thumb = {
.pin = 26
},
};
Опираясь на порядок объявления элементов структуры ...
struct Glove glove3 = {
{20}, // index - pin
{22}, // middle - pin
{24}, // ring - pin
{0}, // pinkie - pin
{26}, // thumb - pin
};
Использование обозначений для внешних элементов, порядок объявления для внутренних ...
struct Glove glove2 = {
.index = {20}, // pin = 20
.middle = {22}, // pin = 22
.ring = {24}, // pin = 24
.thumb = {26}, // pin = 26
};
Быть непоследовательным ...
struct Glove glove4 = {
.index = {20}, // index.pin = 20
{22}, // middle.pin = 22
// Since we are using designators we can change the order
.thumb = {26}, // thumb.pin = 26
.pinkie = {.pin = 24}, // pinkie.pin = 24
};