
Sorry I sent my last email too soon. Let me provide a more detailed example. This fails to compile: bos >> _serverName >> (as_xpr(".pushsvcs")|".access") But this compiles just fine (if I add an as_xpr() wrapper around ".access"): bos >> _serverName >> (as_xpr(".pushsvcs")|as_xpr(".access")) This is odd... shouldn't the former work just fine? It doesn't fail to compile on MSVC v9 On Mon, May 14, 2012 at 12:05 PM, Robert Dailey <rcdailey.lists@gmail.com>wrote:
The problem appears to be with as_xpr(). If I don't use it, it compiles fine.
On Mon, May 14, 2012 at 11:38 AM, Robert Dailey <rcdailey.lists@gmail.com>wrote:
_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