0
How to make a recursion power function witch allows you to use fractions as the power ?
for exemple when I have 3 to the 1/3 power. My function: template <class T,class U> U power(T x,U y) { if(y==0) return 1; else return x * power(x,y-1); // works only when y=int }
2 ответов
0
Here's what happens:
Let's say you make y a float with the value 1/3 = 0.333
The second time the template runs, y is now a negative value, and it will keep running and keep subtracting 1 from y, so you will never hit 0 with a fractional/decimal value.
Instead change y==0 to y<=0 and it should work, I just tested it.
0
My output is the same as the x number. I don't know why.
//edit
Outputs:
27^0.333=27
27^0.5=27
2^1.5=4
2^2.5=8
Doesn't work, It's rounding up y ?