Есть ли в C11 способ создать вложенную инициализацию для достижения того, что я описал в «test_successor_set»?
Поиски Google для вложенной инициализации C11 до сих пор не показали никаких примеров.
Возможно, это невозможно.
Я зашел так далеко, но я не могу заставить его работать.
typedef struct my_node_successor_struct {
char *node_name;
float cost;
} my_node_successor;
typedef struct my_node_successor_set_struct {
const char *successor_name;
my_node_successor *successors[];
} my_node_successor_set;
my_node_successor_set test_successor_set[] = {
{ .node_name = "S", .successors = { { .successor_name = "A", .cost = 2.f}, { .successor_name = "C", .cost = 3.f }, }},
{ .node_name = "A", .successors = { { .successor_name = "B", .cost = 1.f}, { .successor_name = "C", .cost = 1.f }, }},
{ .node_name = "C", .successors = { { .successor_name = "G", .cost = 3.f}, }},
{ .node_name = NULL, NULL },
};