Инициализация дочерней структуры в скобках ⇐ C++
-
Гость
Инициализация дочерней структуры в скобках
Есть ли способ инициализировать дочернюю структуру с помощью фигурных скобок, включая переменные-члены базовой структуры. Я пытаюсь выполнить приведенное ниже, но не компилируется (используя VS и C++ 20). Я не хочу создавать конструктор и хочу использовать однострочную конструкцию.
struct Base { интервал н; }; Производное структуры: База { станд::строка с; }; static const Derived d1{ .s = "Привет", { .n = 1 } }; //не удается скомпилировать static const Derived d2{ 1, { "Привет" } }; //не удается скомпилировать static const Derived d3{ 1, "Привет" }; static const Derived d4(1, «Привет»); РЕДАКТИРОВАТЬ: d4, d3 на самом деле компилируется нормально.
Есть ли способ инициализировать дочернюю структуру с помощью фигурных скобок, включая переменные-члены базовой структуры. Я пытаюсь выполнить приведенное ниже, но не компилируется (используя VS и C++ 20). Я не хочу создавать конструктор и хочу использовать однострочную конструкцию.
struct Base { интервал н; }; Производное структуры: База { станд::строка с; }; static const Derived d1{ .s = "Привет", { .n = 1 } }; //не удается скомпилировать static const Derived d2{ 1, { "Привет" } }; //не удается скомпилировать static const Derived d3{ 1, "Привет" }; static const Derived d4(1, «Привет»); РЕДАКТИРОВАТЬ: d4, d3 на самом деле компилируется нормально.
Мобильная версия