
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; }