Running the following

```
#include <iostream>
#include <complex>

int main()
{
  std::complex<double> i (0,1);
  std::complex<double> comp =pow(i, 2  );
  std::cout<<comp<<std::endl;
  return 0;
}

```

gives me the expected result (-1,0) without c++11. However, compiling with c++11 gives the highly annoying (-1,1.22461e-016).

What to do, and what is best practice?

Of course this can be fixed manually by flooring etc., but I would appreciate to know the proper way of addressing the problem.

SYSTEM: Win8.1, using Desktop Qt 5.1.1 (Qt Creator) with MinGW 4.8 32 bit. Using c++11 by adding the flag QMAKE\_CXXFLAGS += -std=c++11 in the Qt Creator .pro file.