Hm.Простые C-массивы в C ++.В основном никогда не нужно.ОК, вы хотите взаимодействовать с библиотечной функцией.
Я предполагаю, что библиотека ожидает не массив, а указатель.А поскольку ваша структура содержит массив для указателя на double, я предполагаю, что lib хочет видеть double **.
Я с трудом могу себе представить, что старые библиотеки используют ссылки или указатели на массивы, что-то вроде:
void function (double* (&array)[10]); // Reference to array
void function (double* (*array)[10]); // Pointer to array
потому что и здесь вам нужен массив с размером, известным во время компиляции.
Я бы предпочел что-то вроде
void function (double** array, size_t size); // Pointer to Pointer to double
Итак, используйте std::vector
например:
std::vector<double *> arr(input_variable * 3);
И если вы хотите передать данные массивов в функции lib, используйте функцию векторов data
.
function (arr.data());
Вы также можете создатьмассив с новыми.
Последний совет: не используйте необработанные указатели.
Я надеюсь, что смогу немного помочь.,,