Boost logo

Boost :

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


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?


# include <boost/mpl/placeholders.hpp>

struct Variant

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, gregod at, cpdaniel at, john at