gpt4 book ai didi

c++ - 从 HDF5 vector 填充 Armadillo vec

转载 作者:行者123 更新时间:2023-12-04 19:26:01 25 4
gpt4 key购买 nike

我正在尝试从 HDF5 文件中读取一个 vector 到一个 Armadillo vector 中,但我在读取阶段不断出现段错误。我不确定我错过了什么,这似乎很简单,但我想不是......任何帮助将不胜感激

int main(void)
{
H5::H5File fid = H5::H5File("element_pattern.h5",H5F_ACC_RDONLY);
H5::DataSet dataset = fid.openDataSet("freq_collect");
H5::DataSpace dataspace = dataset.getSpace();
H5::StrType datatype = dataset.getStrType();

const int rank = dataspace.getSimpleExtentNdims();
hsize_t dims_out[rank];
const int ndims = dataspace.getSimpleExtentDims( dims_out, NULL);

vec freq_collect(zeros<vec>(dims_out[0]));


dataset.read(&freq_collect, datatype, dataspace);


}

最佳答案

解决方案:&freq_collect应该是 freq_collect.memptr().memptr()是指向内存的原始指针,是存储数据的正确方法

关于c++ - 从 HDF5 vector 填充 Armadillo vec,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70989268/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com