C++ 二维复数向量初始化

C++ 二维复数向量初始化,c++,qt,C++,Qt,我有以下资料: #include <vector> #include <complex> using namespace std; vector<vector<complex> > matrix; #包括 #包括 使用名称空间std; 向量矩阵; 这意味着是一个具有复数值的二维向量。编译时不知道结构的大小,所以我认为向量是一个合理的选择 我用的是Qt。。搜索没有发现任何矩阵类。我是否应该使用其他方法?假设二维向量是一个不错的选择。这

我有以下资料:

#include <vector>
#include <complex>    

using namespace std;

vector<vector<complex> > matrix;
#包括
#包括
使用名称空间std;
向量矩阵;
这意味着是一个具有复数值的二维向量。编译时不知道结构的大小,所以我认为向量是一个合理的选择

我用的是Qt。。搜索没有发现任何矩阵类。我是否应该使用其他方法?假设二维向量是一个不错的选择。这是如何在构建时发生的:

我得到以下错误:

error: type/value mismatch at argument 1 in template parameter list for 
       'template<class _Tp, class _Alloc> class std::vector'
error:   expected a type, got 'complex'
错误:模板参数列表中参数1的类型/值不匹配
“模板类std::vector”
错误:应为类型,但得到“复杂”

非常感谢。

complex
是一个模板化类,因此需要专门化它。我猜您想要的是
float
double

vector<vector<complex<double> > > matrix;
向量矩阵;

向量向量的问题在于,没有任何约束每个子向量具有相同的大小,因此如果不小心,可能会以锯齿状数组结束。