Мне хотелось сделать две отдельные структуры, наследующие одну абстрактную структуру. Однако эти две структуры уже часто используются внутри этой кодовой базы, и все они инициализируются с использованием конструктора фигурных скобок (извините, но я не знаю точной терминологии).
Проблема в том, что, очевидно, структуры которые наследуются от абстрактной структуры, не могут быть инициализированы с помощью этих фигурных скобок.
Вот пример моей проблемы:
замечу, что заголовок недоступен для предварительного просмотра с точки зрения как это будет выглядеть в опубликованном вопросе. Всегда можно скопировать и вставить заголовок и вставить его в самый верх (или низ) тела перед публикацией, чтобы убедиться, что он отображается правильно, а если необходимо внести изменения в заголовок, отредактировать. Затем перед отправкой
Код: Выделить всё
struct AbstractParent {
int a;
virtual void foo();
};
struct Child {
int b;
void foo() {}
};
Код: Выделить всё
Child thing = {1, 2};
Я пытался заменить все инициализации соответствующими конструкторами, но На самом деле я не закончил замену всех вхождений этих инициализаций вызовами конструктора, так как я не очень хорошо разбираюсь в RegEx, поэтому, должно быть, я случайно что-то напутал, так как код перестал работать.
Если есть способ инициализировать эти структуры с помощью фигурных скобок, я хотел бы знать. В противном случае мне придется попробовать добавить все конструкторы вручную, но это выглядит как лишняя работа.
Подробнее здесь: https://stackoverflow.com/questions/786 ... ly-bracket
Мобильная версия