c++ - 二维复值 vector 初始化

标签 c++ qt

我有以下内容:

#include <vector>
#include <complex>    

using namespace std;

vector<vector<complex> > matrix;

这是一个具有复数值的二维 vector 。编译时不知道结构的大小,所以我认为 vector 是一个合理的选择?

我正在使用 Qt.. 搜索没有显示任何矩阵类。我应该使用替代方案吗?假设 2D vector 是一个不错的选择。为什么在构建时会发生这种情况:

我收到以下错误:

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'

非常感谢。

最佳答案

complex 是一个模板类,因此您需要对其进行特化。我猜你想要 floatdouble:

vector<vector<complex<double> > > matrix;

关于c++ - 二维复值 vector 初始化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13781696/

相关文章:

c++ - 在多线程 VS 代码中出现调试错误并且无法找到问题

c++ - 如何从 C/C++ 中终止 MATLAB m 文件函数?

c++ - 将数字设置为小数点后的 float

qt - 更改QToolBox某些选项卡的颜色

qt - 从 mirth connect 读取数据 - tcp server qt creator

QT_STATIC_CONST 没有命名类型

c++ - MFC/C++ 相当于 VB 的 AppActivate

qt - 如何用 Qt 播放声音

c++ - Qt 中简单的无键盘触摸屏小部件

c++ - 如何使用通用模板为类重载运算符?