I use Dev-C++,and the snipet of the program is:
#pragma hdrstop
# include <iostream>
# include <vector>
# include <iterator>
# include "boost/math/common_factor.hpp"
# include "boost/lambda/lambda.hpp"
# include "boost/lambda/bind.hpp"
# include "boost/lambda/if.hpp"
# include "boost/lambda/casts.hpp"
# include "boost/lambda/construct.hpp"
# include "boost/lambda/loops.hpp"
# include "boost/lambda/switch.hpp"
# include "boost/tuple/tuple.hpp"
# include "boost/tuple/tuple_comparison.hpp"
# include <string>
# include <map>
using namespace std;
using namespace boost::lambda;
using namespace boost;
void a(){
std::cout<<std::pow(4,3);
return;
}
...............
but the complier told me that:
main2test.cpp: In function `void a()':
main2test.cpp:69: call of overloaded `pow(int, int)' is ambiguous
F:/CB2009/Dev-Cpp/include/math.h:162: candidates are: double pow(double, double)
F:/CB2009/Dev-Cpp/include/c++/cmath:401: float std::pow(float, float)
F:/CB2009/Dev-Cpp/include/c++/cmath:410: long double
std::pow(long double, long double)
F:/CB2009/Dev-Cpp/include/c++/cmath:419: double
std::pow(double, int)
F:/CB2009/Dev-Cpp/include/c++/cmath:423: float std::pow(float,
int)
F:/CB2009/Dev-Cpp/include/c++/cmath:427: long double
std::pow(long double, int)
And in my computer, the C++ libraries includes are
F:\CB2009\Dev-Cpp\include\c++
F:\CB2009\Dev-Cpp\include\c++\mingw32
F:\CB2009\Dev-Cpp\include\c++\backward
F:\CB2009\Dev-Cpp\include
F:\CB2009\boost_1_34_1\boost_1_34_1
I do not know how to solve it.I do not use <math> or <cmath> yet.
Why the complier told me such files? And whether the two files are included in other files or not?
And can I use:
bind(&std::pow,constant(-1),bind(&IIPrimemap::size,var(primemapvec)));
in the program? where :
typedef std::pair<int, int> IIPrimepair;
std::vector<IIPrimepair> primepairvec;
Can anyone with kindness help me?
200万种商品,最低价格,疯狂诱惑你