sur*_*nga 3 c++ complex-numbers visual-c++
我需要创建一个由复数组成的数组.我使用以下代码初始化它.
std::complex<double> Uf[2]={(1, 2),(3, 4)};
我期待Uf [0]成为1 + 2*i和现在Uf[1],3+ 4*i但是当我调试程序时,我发现虚数值显示为真实,并且两个数字的虚拟虚数值为零(即Uf[0]真实:2.0000..imag: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)};