El siguiente código imprime con VS2010 0
, en contra de mis expectativas:¿Por qué los abs (complejo <int>) siempre devuelven cero?
#include <complex>
#include <iostream>
using namespace std;
int main(void)
{
complex<int> z(20, 200);
cout << abs<int>(z) << endl;
return 0;
}
Funciona bien cuando el tipo es double
.
¿No tengo permitido usar mi propio tipo de número real? Eso es decepcionante. –
@ PaulManta- Sí, supongo que no. No tengo idea de por qué es esto. – templatetypedef
Gracias por su respuesta. Devolver 0, 200 o 42 cuando el comportamiento no está especificado podría estar de acuerdo con un estándar, pero seguramente es un gran escollo para el programador ocasional como yo. – Artium