Armadillo arma ::由struct定义的Col类型

我正在研究从MATLAB代码到C的程序的翻译,我决定使用Armadillo C库 . 在我的C代码中,我使用typedef定义了一个结构类型,然后声明了 arma::Col<myType> ,但是当我尝试编译时,编译器给出了一个C2118错误,因为Armadillo头文件中的 ERROR___INCORRECT_OR_UNSUPPORTED_TYPE 错误"arma_static_check.hpp"指的是myType之前描述的类型,当时我在 arma::Col 定义中使用它 . 这是否意味着不可能创建一个包含自定义类型的 arma::Col 元素,或者我做错了什么?

回答(1)

3 years ago

您可以使用field class而不是Col类 .

字段类可以存储任意用户类型 . Col类仅适用于数字类型(Armadillo FAQ表示"Armadillo supports matrices with the following element types: float, double, std::complex, std::complex, short, int, long, and unsigned versions of short, int, long") .