
_serverName is a std::string. I wish I could better understand the compiler error, I just don't know for sure if it's a problem with my own code or an incompatibility with boost & MSVC7.1 On Fri, May 11, 2012 at 1:51 PM, Eric Niebler <eric@boostpro.com> wrote:
I just tried the below code on VC++ 2003 (7.1) and was unable to reproduce your error. (I assume _serverName is of type sregex?) I'm afraid I don't know what to tell you. Perhaps if you could give me a complete repro scenario, I might be able to help.
Anyone have an idea on this issue? It's currently blocking me from checking in this code to source control, since the code absolutely must work on MSVC 7.1 :-(
On Thu, May 10, 2012 at 4:45 PM, Robert Dailey <rcdailey.lists@gmail.com wrote:
Hi,
I'm using Boost 1.49 Xpressive on VC7.1. When I compile the following code, I get compiler errors (these do not appear on VC9):
sregex const& rex = bos >> _serverName >> !as_xpr("_GWDomino") >> ".diagnostics" >> *(as_xpr(".base")|".renamed");
'rex' is really a function parameter in my real world use case. I'm passing the entire static regex into a function that takes a 'sregex const&'. I get the compiler error below. Anyone know why this is happening?
C:\Code\work\cmake-decomp\build-vc7\third_party\boost\1.49.0-stlport-5.2.1\include\boost\proto\traits.hpp(691)
: error C2664: 'boost::proto::exprns_::expr<Tag,Args,Arity>::expr(const boost::proto::exprns_::expr<Tag,Args,Arity> &)' : cannot convert
On 5/11/2012 9:56 AM, Robert Dailey wrote: parameter
1 from
'boost::proto::detail::as_expr<T,Generator,WantsBasicExpr>::result_type' to
'const boost::proto::exprns_::expr<Tag,Args,Arity> &' with [ Tag=boost::proto::tagns_::tag::terminal,
Args=boost::proto::argsns_::term<boost::proto::detail::as_expr<const char
[10],boost::proto::detail::base_generator<boost::proto::default_generator>::type,false>::value_type>,
Arity=0 ] and [ T=const char [10],
Generator=boost::proto::detail::base_generator<boost::proto::default_generator>::type,
WantsBasicExpr=false ] and [ Tag=boost::proto::tagns_::tag::terminal,
Args=boost::proto::argsns_::term<boost::proto::detail::as_expr<const
char
[10],boost::proto::detail::base_generator<boost::proto::default_generator>::type,false>::value_type>,
Arity=0 ] Reason: cannot convert from
'boost::proto::detail::as_expr<T,Generator,WantsBasicExpr>::result_type' to
'const boost::proto::exprns_::expr<Tag,Args,Arity>' with [ T=const char [10],
Generator=boost::proto::detail::base_generator<boost::proto::default_generator>::type,
WantsBasicExpr=false ] and [ Tag=boost::proto::tagns_::tag::terminal,
Args=boost::proto::argsns_::term<boost::proto::detail::as_expr<const
char
[10],boost::proto::detail::base_generator<boost::proto::default_generator>::type,false>::value_type>,
Arity=0 ] No constructor could take the source type, or constructor
overload
resolution was ambiguous
\Code\work\cmake-decomp\server\exchange\tools\uploadlog\uploader.cpp(1372)
: see reference to function template instantiation 'const boost::add_const<T>::type boost::proto::functional::as_expr<>::operator ()<char,10>(const char (&)[10]) const' being compiled with [ T=boost::proto::detail::as_expr<const char
[10],boost::proto::detail::base_generator<boost::proto::default_generator>::type,false>::result_type
]
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost
-- Eric Niebler BoostPro Computing http://www.boostpro.com
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost