在c++中初始化复数数组
visual Initializing complex number array in C++
我需要创建一个包含复数的数组。我使用下面的代码来初始化它。
std::complex<double> Uf[2]={(1, 2),(3, 4)};
我期望Uf[0]是1 + 2*i
和Uf[1]
是3+ 4*i
,但当我调试程序时,我发现虚数值显示为真实的,并且令人惊讶的虚数值对于两个数字都是零(即Uf[0]
是真实的:2.0000..
image: 0.0000
....)Uf[1]
是真实的:4.0000
..图片:0.0000
..谁能告诉我怎么解决这个问题?
谢谢
这是因为您使用了逗号操作符,所以将分别用2
和4
初始化复杂值。将括号替换为大括号:
std::complex<double> Uf[2]={{1, 2},{3, 4}};
如果以上不能工作,说明你的编译器不兼容c++ 11,你必须显式地创建数组复杂成员:
std::complex<double> Uf[2]={std::complex<double>(1, 2),std::complex<double>(3, 4)};
数组初始化错误。试试这个:
std::complex<double> Uf[2]={{1, 2},{3, 4}};
相关文章:
- Mongodb c++驱动程序:如何查询元素的数组
- 将数组的地址分配给变量并删除
- 从C++本机插件更新Vector3数组
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 将数组作为参数传递给函数安全吗?作为第三方职能部门,可以探索他们想要的之外的其他元素
- 数组索引的值没有增加
- 将对象数组的引用传递给函数
- 为char数组调整zlib-zpipe
- 添加两个二进制数(整数数组)
- 分段故障 - 数边数
- 使用 for 循环更改二进制数>十进制数
- 斐波那契数 - 动态数组
- 添加二进制数(作为数组)C++
- 任意但编译时已知的类型数的元组
- 计算加泰罗尼亚数模数
- 具有相同指数的数的和为相同数的数
- 数一数用给定的零钱兑换金额的方法
- 在vector中存储不同维数的数组
- 初始化未知维数的数组
- 找出GSL矩阵中的行数/列数