[Coin-discuss] Silly compile error in CLP under VC++.NET 2003

Silva, Eduardo BRA efsilva at nps.navy.mil
Wed Jan 14 19:30:36 EST 2004


Dear COIN Team,

First, congratulations for a nice work that have been done.  I am a PhD student and I am trying to implement a Branch and price algorithm. When I compile the CLP module using VC++.NET (2003) I got the compile errors below. It is interesting that those errors did not happen in VC++ 6. Anyway, my solution was just write "(double)" before the first argument.
 
Thanks again,
Eduardo.

My Correction
              phi=pow((double)numberComplementarityPairs_,2.0);
            } else {
              phi=pow((double)numberComplementarityPairs_,1.5);

ClpPredictorCorrector.cpp
h:\MVC\COIN\Clp\ClpPredictorCorrector.cpp(311) : error C2666: 'pow' : 7 overloads have similar conversions
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(620): could be 'long double pow(long double,int)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(618): or       'long double pow(long double,long double)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(572): or       'float pow(float,int)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(570): or       'float pow(float,float)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(534): or       'double pow(int,int)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(532): or       'double pow(double,int)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(195): or       'double pow(double,double)'
        while trying to match the argument list '(int, double)'

h:\MVC\COIN\Clp\ClpPredictorCorrector.cpp(313) : error C2666: 'pow' : 7 overloads have similar conversions
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(620): could be 'long double pow(long double,int)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(618): or       'long double pow(long double,long double)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(572): or       'float pow(float,int)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(570): or       'float pow(float,float)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(534): or       'double pow(int,int)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(532): or       'double pow(double,int)'
        d:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\math.h(195): or       'double pow(double,double)'
        while trying to match the argument list '(int, double)'





More information about the Coin-discuss mailing list