结构定义的类型的犰狳 arma::Col

Posted

技术标签:

【中文标题】结构定义的类型的犰狳 arma::Col【英文标题】:Armadillo arma::Col of type defined by struct 【发布时间】:2016-03-25 16:34:53 【问题描述】:

我正在将程序从 MATLAB 代码转换为 C++,我决定使用 Armadillo C++ 库。在我的 C++ 代码中,我用 typedef 定义了一个结构类型,然后声明了一个 arma::Col<myType>,但是当我尝试编译时,由于 Armadillo 头文件“arma_static_check.hpp”中的 ERROR___INCORRECT_OR_UNSUPPORTED_TYPE 错误,编译器给了我一个 C2118 错误。当我在arma::Col 定义中使用它时,转换为之前描述的 myType 类型。这是否意味着无法创建包含自定义类型元素的 arma::Col 或者我做错了什么?

【问题讨论】:

【参考方案1】:

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

字段类可以存储任意用户类型。 Col 类仅适用于数字类型(Armadillo FAQ 说 “Armadillo 支持具有以下元素类型的矩阵:float、double、std::complex、std::complex、short、int、long 和 unsigned 版本短、​​整数、长")。

【讨论】:

以上是关于结构定义的类型的犰狳 arma::Col的主要内容,如果未能解决你的问题,请参考以下文章

犰狳矢量类上的 RcppArmadillo 样本

犰狳 lapack 和 blas 未定义的参考

犰狳的自定义 natvis 文件仅适用于 resharper

将犰狳 lapack blas 链接到代码时出错:未定义对“dtrsm_”的引用

C++ 犰狳库提供了对 `arma::arma_rng_cxx11_instance' 的未定义引用

无法将犰狳与提升单元测试框架联系起来