What is ‘undefined reference to `pow”

c++

I have a codepad .

On line 15 inside a for function

 for(i=2; i<=90; i+=2){
    int j=0+i;
    printf("%i\n",i);
    power=pow(inp,j);
    factor=factorial(i);
    if(i%4==0)fAns += power/factor;
    else fAns -= power/factor;
  }

the line power=pow(inp,j); I added j instead of just using i because it gave me the same error. undefined reference to 'pow'.

If I replace j with 2, then it works just fine but when I use j=i it wont work. Is there a problem with incrementing this line?

I want this to increment and not throw me an error.

Best Solution

You need to link with the math library. With gcc, this would mean passing -lm during linking.

The reason it doesn't complain when you use 2 as the exponent value is because the compiler is optimizing the pow call out.