头文件中的特征矩阵:未知类型名称

时间:2016-11-16 14:29:22

标签: c++ eigen

在尝试在头文件中声明特征稀疏矩阵时,我遇到了一个奇怪的错误。

头文件只是:

#include <Eigen/Sparse>

Eigen::SparseMatrix<std::complex<double> > sp_eye(2,2);
sp_eye.coeffRef(0,0) = std::complex<double>(1,0);
sp_eye.coeffRef(1,1) = std::complex<double>(1,0);
sp_eye.makeCompressed();

包含此标题并编译时:

我得到&#34;错误:未知类型名称&#39; sp_eye&#39;&#34;,在代码段的第2行,即使我在上一行中定义了它。如果我将它包含在我的main()函数中,代码片段工作正常,出于某种原因......但我不想在我的主程序中使用它。

为了测试它是否正在接收声明,我尝试了

#include <Eigen/Sparse>

Eigen::SparseMatrix<std::complex<double> > sp_eye;
Eigen::SparseMatrix<std::complex<double> > sp_eye(2,2);
sp_eye.coeffRef(0,0) = std::complex<double>(1,0);
sp_eye.coeffRef(1,1) = std::complex<double>(1,0);
sp_eye.makeCompressed();

我得到了重新定义错误,确认编译器知道声明。

出了什么问题?

0 个答案:

没有答案