Я использую библиотеку HDF5 для чтения данных из файла HDF5 в c ++, и у меня возникают следующие проблемы:
status = H5Dread(
hdf5_dataset,
hdf5_datatype,
hdf5_dataspace_in_memory,
hdf5_dataspace_in_file,
H5P_DEFAULT,
buf
);
Последний аргумент должен быть указателем void, и у меня есть вектор с плавающей точкой, который я хочу выделить, однако при попытке передать вектор g ++ выдает следующую ошибку:
ошибка: невозможно преобразовать ‘std::vector<float, std::allocator<float> >’
в ‘void*’
для аргумента ‘6’
в ‘herr_t H5Dread(hid_t, hid_t, hid_t, hid_t, hid_t, void*)’
Есть ли способ, которым я могу записать непосредственно в вектор без необходимости выделять память дважды?