$include_dir="/home/hyper-archives/boost/include"; include("$include_dir/msg-header.inc") ?>
From: Richard Jennings (richard.jennings_at_[hidden])
Date: 2005-12-20 12:08:17
I'm just trying out enum rev4.3 with Borland 5.6.4 and it fails to compile.
This is because of the 'not-found clause' in the parse method. Eg. for
the example
BOOST_ENUM(boolean,
(False)
(True)
)
that generates:
...
typedef boost::optional<boolean> optional;
static optional parse(const char* str)
{
if(strcmp(str, "False") == 0) return optional(False);
if(strcmp(str, "True") == 0) return optional(True);
return false;
}
...
[taken from test/enum.cpp]
my compiler complains that it can't convert 'bool' to
'boost::optional<boolean>' on the last return statement, and I would tend
to agree with it!
If I change the return to be:
return optional();
Then it compiles.
Is there a particular reason why this compiler complains about the
conversion whereas the others are fine with it? Would you consider making
this change to support this compiler?
Richard