当我在 ideone.com 上运行此代码时,它会打印(2,3)
:
#include <iostream>
#include <complex>
int main() {
std::complex<double> val = 2 + 3i;
std::cout << val << std::endl;
return 0;
}
但是当我在 macOS 10.11.6 上使用 clang 时,我没有收到任何错误或警告,但输出是 (2,0)
:
$ clang --version
Apple LLVM version 7.3.0 (clang-703.0.31)
Target: x86_64-apple-darwin15.6.0
$ clang -lc++ test.cpp && ./a.out
(2,0)
虚部发生了什么?难道我做错了什么?