下面的代码在C中编译并运行得很好(至少根据'gcc -std = gnu99'),但它无法在C++下编译,给出"第5行:错误:无法将'double'转换为'double complex '初始化".有人知道为什么吗?
#include "/usr/include/complex.h"
#include <stdio.h>
int main(int argc, char * argv[]) {
double complex a = 3; // ERROR ON THIS LINE
printf("%lf\n", creal(a));
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我意识到在C++中有另一种复杂数字的方法,但是我必须在C++中使用C复数,因为这就是我给出的遗留代码所做的事情.谢谢,如果你能帮忙!