Можно ли установить размер переменной-члена std::array
в зависимости от значений в пакете параметров?
// например, что-то вроде этого: std::array<float, dimSizes[0]> data;
Нет, насколько я знаю, это невозможно точно так, как вы хотите.
Потому что, таким образом, разные экземпляры одного и того же класса будут содержать члены с одинаковыми именами, но разными типами.Строго запрещено в строго типизированном языке, как C ++.
Если вы хотите std::array
с другим размером, вы должны различать типы;поэтому размер для второго std::array
должен быть параметром шаблона.
Очевидно, вы можете заменить std::array
контейнером, который не зависит от размера;как предположил Петр Скотницкий, возможное решение - std::vector