Code::Blocks Forums

User forums => Using Code::Blocks => Topic started by: ultrabot90 on May 23, 2007, 04:34:20 pm

Title: Pow and Math.h
Post by: ultrabot90 on May 23, 2007, 04:34:20 pm
Made console project.
I tried to used pow() function.
Didnt work.
Nor did any math.h function.
In fact, it does not detect any math.h file.
What should I do?
-regards,
ultrabot90
Title: Re: Pow and Math.h
Post by: killerbot on May 23, 2007, 04:38:29 pm
1) C++ project ?
2) assuming yes on 1)

in your cpp file :
#include <cmath>

using namespace std;
Title: Re: Pow and Math.h
Post by: TDragon on May 23, 2007, 04:39:21 pm
Please post a small example of the code that doesn't work, and the contents of the Build log tab in the Messages area, after a failed build.
Title: Re: Pow and Math.h
Post by: ultrabot90 on May 23, 2007, 05:17:11 pm
*smashes head*
Sorry for being so damn unspecific. -_-'
Its C++.
Cmath worked, thanks.
And now same program, new problems.
Code
#include<iostream>
#include<cmath>
using namespace std;
void series(int, int);
int main()
{
    int x, n;
    cout<<"\nEnter the value of x & n…\n";
    cin>>x>>n;
    series(x, n);
    return 0;
}
void series(int x, int n)
{
    int sum=1,f=1,j;
    for(int i=1;i<=n;i++)
    {
        for(int j=1;j<=(2*n-1);j--)
        f*=j;
        sum+=f/pow(x,i); //Line 20
    }
    cout<<"\n"<<sum;
}
Line 20 - Error - Call of overloaded function 'pow(int&, int&)' is ambigous
Help please.
Title: Re: Pow and Math.h
Post by: darkwalk on May 23, 2007, 05:21:39 pm
http://cppreference.com/stdmath/pow.html

from the reference, pow takes arguments:   double base, double exp

Instead, your function is invoked using something else.  Cast your second argument into a double, adn you should be good.
Title: Re: Pow and Math.h
Post by: ultrabot90 on May 23, 2007, 05:25:08 pm
thx! ^_^
Title: Re: Pow and Math.h
Post by: killerbot on May 23, 2007, 05:30:03 pm
and important !!!

Your code is actually not correct. You have to specify to use the std namespace (always do this in cpp files, never headers).

You can :

a) using namespace std;

or specify just what you need :
b)
using std::cout;
using std::cin;
using std::pow;
Title: Re: Pow and Math.h
Post by: ultrabot90 on May 23, 2007, 06:08:25 pm
I think I did type in the "using namespace std;" line...
Another problem is that C::B always returns a "Warning : No newline at end of file."
Its there in any program I do. Even the previous one.
Thats the entire lot of problems, I think.
Title: Re: Pow and Math.h
Post by: killerbot on May 23, 2007, 06:38:41 pm
it's no CB that's bugging you, it's the compiler.
A lot of compilers want all files to end with an empty line.

Just make a (good) habit out of it ;-)
Title: Re: Pow and Math.h
Post by: ultrabot90 on May 23, 2007, 07:10:42 pm
oO
Ok...That did the trick.
Thanks.
Title: Re: Pow and Math.h
Post by: transfrank on March 15, 2008, 05:21:42 am
Hello,
I did
Code
#include <cmath>
using name space std;

and upon compilation, code::blocks opens up the cmath file and gives the following error message for all the math functions, (e.g. like for arc cosine):
Code
error '::acos' has not been declared 

Also, I added under Project build options-> linker settings->link libraries : m for math.
Advice on what us wrong?
Thanks,
Frank
Title: Re: Pow and Math.h
Post by: stahta01 on March 15, 2008, 10:01:40 am
Code
#include <cmath>
using name space std;

It is namespace not name space!

Tim S
Title: Re: Pow and Math.h
Post by: transfrank on March 15, 2008, 06:17:26 pm
I did namespace in the code and just typed it too quickly here. So my problem persists.