Boost logo

Boost :

From: Hugo Duncan (hugoduncan_at_[hidden])
Date: 2004-09-03 16:52:27


Aleksey,

The following does not compile, on bcc 564 with latest pserver CVS.
The Variant definition is similar to the one Borland provides in
their VCL headers (and the problem therefore exists with any
code that uses the VCL).

The error message is
    E2015 Ambiguity between 'operator !=(int,const Variant &)' and '!='

Removing the mpl include gets rid of the compile error.

Any ideas?

Regards,
Hugo

# include <boost/mpl/placeholders.hpp>

struct Variant
{
   Variant(int);
};

bool operator!=(int, const Variant&);

namespace // problem occurs both with and without unnamed namespace
{
   enum Abc { abcd, abcde };
}

int fn()
{
   int x=0,y=1;
   if (x!=y) // OK
     return 1;

   Abc a;
   if (a!=abcd) // ERROR HERE
     return 1;

   return 0;
}


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk