Hello I'm working with a Codewarrior compiler (Nokia Codewarrior C/C++
Compiler for Windows/x86 version 3.2.3 build 451).
The following test code finds the proper overload for MSVC 2005 and doesn't
for the Codewarrior compiler but only with the = syntax. Does anyone have
any idea how to make "c" find its overload as well? It would make the
client code a lot cleaner to read/write.
#include
#include
struct tester
{
int value;
tester( float f )
: value((int)f)
{
}
tester( double d )
: value((int)d)
{
}
template< typename T >
tester( T val, typename boost::enable_if< boost::is_integral<T> >::type* =
0 )
: value(val)
{
zzz
}
};
void main()
{
tester a = 1.f; // works (chooses float overload)
tester b(1); // works (i.e. error on zzz)
tester c = 1; // works on vc2005 (i.e. error on zzz)
// fails on cw (ambiguous overload looking at float and double)
}