Опираясь на Йоханнеса Шауба - ответ Литба ... по крайней мере, GCC позволит вам использовать сокращенный синтаксис (исключая бессмысленное имя класса):
Foo() :
memberArray{{ {1}, {3}, {2} }}
{}
вместо
Foo() :
memberArray{{Bar(1), Bar(3), Bar(2)}}
{}
Лично я использую что-то вроде второй версии, когда инициализирую массив полиморфных указателей:
Foo() :
memberArray{{
dynamic_cast<Bar*>(new BarA(1)),
dynamic_cast<Bar*>(new BarB(3)),
dynamic_cast<Bar*>(new BarC(2))
}}
{}