ну дык написано же английским, что требуется явное указание типа результата. var - это не тип
в первом же случае NaN получается, потому что невозможно возвести. Вероятно, пытаетесь возвести в дробную степень отрицательное число.
Добавлено after 15 minutes 18 seconds:А вообще, надо смотреть документацию. У меня нет под рукой для С++, но вот у, например, С# так описывается:
Код:
Параметры Pow(x,y) Возвращаемое значение
----------
x или y = NaN. NaN
x = Любое значение, кроме NaN; y = 0 1
x = NegativeInfinity; y < 0 0
x = NegativeInfinity;
y является положительным нечетным целым числом NegativeInfinity
x = NegativeInfinity;
y является положительным,
но не является нечетным целым числом PositiveInfinity
x < 0, но не NegativeInfinity;
y не является целым числом,
NegativeInfinity, или PositiveInfinity NaN
x = -1; y = NegativeInfinityили PositiveInfinity NaN
-1 < x< 1; y = NegativeInfinity PositiveInfinity
-1 < x< 1; y = PositiveInfinity 0
x <-1 или x > 1; y = NegativeInfinity 0
x <-1 или x > 1; y = PositiveInfinity PositiveInfinity
x = 0; y < 0 PositiveInfinity
x = 0; y > 0 0
x = 1; y любое значение, кроме NaN 1
x = PositiveInfinity; y < 0 0
x = PositiveInfinity; y > 0 PositiveInfinity