Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/156.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
复杂文字';i';用于函数参数 似乎有一个问题,使用C++中的 STD::复合< /代码> ./P>_C++_Std_Complex Numbers - Fatal编程技术网

复杂文字';i';用于函数参数 似乎有一个问题,使用C++中的 STD::复合< /代码> ./P>

复杂文字';i';用于函数参数 似乎有一个问题,使用C++中的 STD::复合< /代码> ./P>,c++,std,complex-numbers,C++,Std,Complex Numbers,考虑以下代码: std::complex<double> a = -1.0i * 42.0; std::complex<double> b = a + 1.0i; std::complex a=-1.0i*42.0; 标准:复合物b=a+1.0i; 第二行无法编译,原因是: 错误:“运算符+”不匹配(操作数类型为“std::complex”和“\uuuu complex\uuuuu double”) 这在函数调用中使用复杂文本时也会出现,例如 std::exp<

考虑以下代码:

std::complex<double> a = -1.0i * 42.0;
std::complex<double> b = a + 1.0i;
std::complex a=-1.0i*42.0;
标准:复合物b=a+1.0i;
第二行无法编译,原因是:
错误:“运算符+”不匹配(操作数类型为“std::complex”和“\uuuu complex\uuuuu double”)

这在函数调用中使用复杂文本时也会出现,例如

std::exp<std::complex<double>>( 1.0i * 3.14159 );
std::exp(1.0i*3.14159);
为什么复杂文本
1.0i
不能转换为
std::complex


是否必须使用
1.0i
显式构造
std::complex

您应该使用
--std=c++14
(无GNU ext)重新编译,以避免
I
后缀与

ISO C++14库还定义了“i”后缀,因此包含
头的C++14代码不能将“i”用于GNU扩展。“j”后缀仍然具有GNU的含义


您应该使用
--std=c++14
(无GNU ext)重新编译,以避免
i
后缀与

ISO C++14库还定义了“i”后缀,因此包含
头的C++14代码不能将“i”用于GNU扩展。“j”后缀仍然具有GNU的含义


哪个编译器和版本?这对我来说是在GCC主干、Clang主干和稍旧的MSVC版本上编译的?这为我在GCC主干、Clang主干和稍旧的MSVC版本上编译