Вы не можете сделать это напрямую с каким-либо конкретным параметризованным конструктором.Однако вы можете сделать,
a_struct *my_struct[10] = {}; // create an array of pointers
for (int i = 0; i < 10; i++)
my_struct[i] = new a_struct(i); // allocate using non-default constructor
Когда вы собираетесь отменить выделение памяти,
for (int i = 0; i < 10; i++)
delete my_struct[i] // de-allocate memory
Я предлагаю использовать контейнер std::vector
вместо того, чтобы проходить этот процесс.