我正在用Eigen作为我的线性代数后端编写一个神经网络类,我想知道如何创建一个数组,其中每个元素都有不同的类型,在运行时确定。
我发现了这个,但它对我不起作用。
我想要的只是能够使用类似数组的访问方法访问不同大小的矩阵,即vMatrix[i]。
编辑:
基类的原型:
template<typename T, unsigned _Rows, unsigned _Cols> Eigen::Matrix;
我正在尝试做的事情:
vector< DerivedMatrix > vMatrix;
vMatrix.push_back(some_5x4_matrix);
vMatrix.push_back(some_4x10_matrix);
vMatrix.push_back(some_10x1_matrix);
矩阵大小不是事先定义的。
因为我对 C 的了解比 C++ 多,所以我想了一种方法来解决这个问题:使用带有 void* 的 struct 和一些机制来存储项目类型或 row & col; 但由于我正在学习 C++,所以我想避免这种情况。