mum*_*tei -1 c++ complex-numbers
我在使用complex.h中的函数时遇到问题.我有一些数字
typedef complex<double> cmplx;
cmplx N;
double x;
double y;
Run Code Online (Sandbox Code Playgroud)
现在我需要对它们进行操作:
double k = real(N);
cmplx NI = complex(x,y);
double l = imag(N);
Run Code Online (Sandbox Code Playgroud)
这些作品都没有.怎么了?我曾尝试写creal,cimag,但没有任何作用......编译器写道:
error: argument list for class template "std::complex" is missing
Run Code Online (Sandbox Code Playgroud)
请帮忙
谢谢
编辑
再次感谢您的帮助,但现在我遇到了一个新问题.如果我有一个cmplx数字的数组Arr [N],现在我需要Arr [i]的真实部分我写了
realArray[5] = ComplexArray[5].real();
Run Code Online (Sandbox Code Playgroud)
我收到一个错误:
error: expression must have class type
Run Code Online (Sandbox Code Playgroud)
real()或imag()函数的错误是相同的
使用complex.h中的函数时遇到问题
没有带有该名称的标准标题.我猜你的意思<complex>; 否则,您要么包含史前或非标准库,要么包含C库.无论如何,你应该改为<complex>.
第一行和第三行应该没问题.real并且imag被定义为在您使用它们时可用的非成员函数,或者作为可用作N.real()和的成员函数N.imag().
第二行应该是以下之一:
cmplx NI = cmplx(x,y);
cmplx NI = complex<double>(x,y);
cmplx NI(x,y);
Run Code Online (Sandbox Code Playgroud)
使用您的类型别名cmplx或模板特化本身来指定类型.如错误所示,您无法在需要类型的地方使用模板.
| 归档时间: |
|
| 查看次数: |
2103 次 |
| 最近记录: |