Boost logo

Boost :

From: John Maddock (boost.regex_at_[hidden])
Date: 2003-08-26 05:52:45


> At the moment, Boost.Regex has an incompatibility with the VCL headers
when
> compiling with Borland C++ 5.5. Simply having
>
> #include <vcl.h>
> #include <boost\regex.hpp>
>
> generates a large number of errors of the type.
>
> [C++ Error] cregex.hpp(91): E2015 Ambiguity between '_fastcall operator
> |(int,const Variant &)' and '|'
>
> I'm afraid that I have yet to track down the precise cause of the errors,
or
> a solution.

I can reproduce this with just:

#include <vcl.h>
#include <locale>

No boost code necessary :-(

Even worse this reproduces the error as well:

#include <vcl.h>
#pragma hdrstop

enum enum_t
{
   one = 1,
   two = 2
};

int test()
{
   int a = one | two; // error
   int b = one + two; // error
   int c = (int)one & (int)two; // OK
   return a & b; // OK
}

which doesn't look good at all...

Oh and the problem is present in Builder 6 as well.

John.


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