I found why such a error occurs.
According to your call "boost::regex_match(value, mr, ee)",
the type of the first parameter is wstring (not const wchar_t*),
and of the second is match_results.
So, the compiler selected the following overload from six.
bool regex_match (
const std::basic_string<...>&,
match_results < std::basic_string::const_iterator >&,
const basic_regex<...>&,
match_flag_type
)
This overload requires a reference to match_results
with std::basic_string::const_iterator template parameter.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
This meens that the cast
match_results < const wchar_t* >&,
to
match_results < std::basic_string::const_iterator >&
was needed.
Such a cast can be done successfully in VC6,
but I think VC7.1's strict check did not allow it.
Thanks.
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-
TAKAHASHI Daisuke
daisuke@ist.osaka-u.ac.jp
-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-