думаю, вопрос немного в другой плоскости
читаем aggregate_initialization
An aggregate is one of the following types:
array type
class type (typically, struct or union), that has
.........
.........
no virtual member functions
тип агрегатор имеет кучу ограничений, среди прочего — не может иметь виртуальных методов