[prev in list] [next in list] [prev in thread] [next in thread] 

List:       boost-bugs
Subject:    [Boost-bugs] [Boost C++ Libraries] #7181: 'boost::phoenix::actor<Expr>' : default constructor could
From:       "Boost C++ Libraries" <noreply () lists ! boost ! org>
Date:       2012-07-27 10:03:03
Message-ID: 051.318347a77931bfc6c6badcf0de4e23ed () lists ! boost ! org
[Download RAW message or body]

#7181: 'boost::phoenix::actor<Expr>' : default constructor could not be generated
--------------------------------+-------------------------------------------
 Reporter:  m.champlon@…        |       Owner:  theller
     Type:  Bugs                |      Status:  new    
Milestone:  To Be Determined    |   Component:  phoenix
  Version:  Boost 1.50.0        |    Severity:  Problem
 Keywords:                      |  
--------------------------------+-------------------------------------------
 Hi,

 The following code :
 {{{
 #include <boost/phoenix/bind.hpp>

 void f() {}
 void g()
 {
     boost::phoenix::bind( &f );
 }
 }}}
 generates with msvc 2010 the following warnings :
 {{{
 1>C:\dev\include\boost/phoenix/core/actor.hpp(273): warning C4510:
 'boost::phoenix::actor<Expr>' : default constructor could not be generated
 1>          with
 1>          [
 1>
 Expr=boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boo \
st::proto::argsns_::list1<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag: \
:terminal,boost::proto::argsns_::term<boost::phoenix::detail::function_ptr<0,void,void
  (__cdecl *)(void)>>,0>>,1>
 1>          ]
 1>          ..\..\src\blablabla.cpp(15) : see reference to class template
 instantiation 'boost::phoenix::actor<Expr>' being compiled
 1>          with
 1>          [
 1>
 Expr=boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boo \
st::proto::argsns_::list1<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag: \
:terminal,boost::proto::argsns_::term<boost::phoenix::detail::function_ptr<0,void,void
  (__cdecl *)(void)>>,0>>,1>
 1>          ]
 1>C:\dev\include\boost/phoenix/core/actor.hpp(273): warning C4610: struct
 'boost::phoenix::actor<Expr>' can never be instantiated - user defined
 constructor required
 1>          with
 1>          [
 1>
 Expr=boost::proto::exprns_::basic_expr<boost::phoenix::detail::tag::function_eval,boo \
st::proto::argsns_::list1<boost::proto::exprns_::basic_expr<boost::proto::tagns_::tag: \
:terminal,boost::proto::argsns_::term<boost::phoenix::detail::function_ptr<0,void,void
  (__cdecl *)(void)>>,0>>,1>
 1>          ]
 1>
 }}}

 I suppose one way to supress them would be to add them to the pragma
 disable at the top of phoenix/core/actor.hpp

 Cheers, [[br]]
 MAT.

-- 
Ticket URL: <https://svn.boost.org/trac/boost/ticket/7181>
Boost C++ Libraries <http://www.boost.org/>
Boost provides free peer-reviewed portable C++ source libraries.
_______________________________________________
Boost-bugs mailing list
Boost-bugs@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/boost-bugs


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic