Как в С++ объявить массив объектов?
Можете использовать оператор new[], можете - std::vector/std::list и помещать в него новосозданные объекты.
Если Ваш метод должен возвращать константу, то можно попробовать constexpr функцию.#include <iostream>

constexpr int func()
{
    return 10;
}

int main() {
    int v[func()];
    std::cout<<sizeof(v);
    return 0;
}