Jako, ze jest to mój pierwszy post na forum chciałbym się serdecznie przywitać. :D
Więc witam!
Ale gdy formalności mamy już za sobą to chciałbym się zapytać dlaczego, gdy kompiluję poniższy kod i wprowadzę wyjątek to za outputem mam dopisek -nan(ind)?
Something went wrong! Number -300 is lower than possible temperature!-nan(ind)
(tak wygląda kompilacja w przypadku liczby -300)
Program ma na celu oczywiście zamianę stopni Celsjusza na Kelvina, więc stopnie nie mogą być niższe od -273,15.
Z tego co zdążyłem się zorientować -nan(ind) jest wyświetlany, gdy wystąpi "nielegalna operacja", lecz nie mogę znaleźć niczego nietypowego w moim kodzie.
double ctok(double c)
{
try
{
double k = c + 273.15;
if (k < 0)
throw c;
return k;
}
catch (double celc)
{
std::cout << "\nSomething went wrong! Number " << celc << " is lower than possible temperature!";
}
}
int main()
{
double c = 0;
std::cin >> c;
double k = ctok(c);
std::cout << k << std::endl;
}
Będę wdzięczny za jakiekolwiek wskazówki. ;)