[C++-sig] errors while setting arguments description for the method

Gennadiy Rozental rogeeff at gmail.com
Wed Mar 17 23:21:43 CET 2010


I've got specification like this:

    class_<Foo,FooSP>( "Foo", "Foo descr" )
     .def( "__init__", bp::make_constructor( &make_foo ), 
           bp::args( "self", "str" ), 
           "Constructor based on string representation.\n" )
...

I am getting compilation error below from VC9.0. Error disappears if I avoid
bp::args( "self", "str" ) part.

Please advise,

Gennadiy

1>...\boost-1.39\boost/python/def_visitor.hpp(43) : error C2784: 'void
boost::python::api::object_operators<U>::visit(ClassT &,const char *,const
boost::python::detail::def_helper<DocStringT> &) const' : could not deduce
template argument for 'const boost::python::detail::def_helper<DocStringT> &'
from 'const boost::python::detail::def_helper<T1,T2>'
1>        with
1>        [
1>            U=boost::python::api::object
1>        ]
1>        and
1>        [
1>            T1=boost::python::detail::keywords<2>,
1>            T2=const char [106]
1>        ]
1>        ....\boost-1.39\boost/python/object_core.hpp(188) : see declaration of
'boost::python::api::object_operators<U>::visit'
1>        with
1>        [
1>            U=boost::python::api::object
1>        ]
1>        ....\boost-1.39\boost/python/def_visitor.hpp(74) : see reference to
function template instantiation 'void
boost::python::def_visitor_access::visit<boost::python::def_visitor<
DerivedVisitor>,classT,OptionalArgs>(const V &,classT &,const char *,
const OptionalArgs &)' being compiled
1>        with
1>        [
1>            DerivedVisitor=boost::python::api::object,
1>           
classT=boost::python::class_<Foo,FooSP,boost::python::detail::not_specified,
boost::python::detail::not_specified>,
1>           
OptionalArgs=boost::python::detail::def_helper<boost::python::detail::keywords
<2>,const char [106]>,
1>            V=boost::python::def_visitor<boost::python::api::object>
1>        ]
1        ...\boost-1.39\boost/python/class.hpp(524) : see reference to function
template instantiation 'void
boost::python::def_visitor<DerivedVisitor>::visit<boost::python::class_<W,X1,
X2,X3>,Helper>(classT &,const char *,const OptionalArgs &)const' being compiled
1>        with
1>        [
1>            DerivedVisitor=boost::python::api::object,
1>            W=Foo,
1>            X1=FooSP,
1>            X2=boost::python::detail::not_specified,
1>            X3=boost::python::detail::not_specified,
1>           
Helper=boost::python::detail::def_helper<boost::python::detail::keywords<2>,
const char [106]>,
1>           
classT=boost::python::class_<Foo,FooSP,boost::python::detail::not_specified,
boost::python::detail::not_specified>,
1>           
OptionalArgs=boost::python::detail::def_helper<boost::python::detail::
keywords<2>,const char [106]>
1>        ]
1>        ...\boost-1.39\boost/python/class.hpp(259) : see reference to function
template instantiation 'void
boost::python::class_<W,X1,X2,X3>::def_impl<Foo,boost::python::detail::
def_helper<T1,T2>,Fn,U>(T *,const char *,LeafVisitor,const Helper &,const
boost::python::def_visitor<DerivedVisitor> *)' being compiled
1>        with
1>        [
1>            W=Foo,
1>            X1=FooSP,
1>            X2=boost::python::detail::not_specified,
1>            X3=boost::python::detail::not_specified,
1>            T1=boost::python::detail::keywords<2>,
1>            T2=const char [106],
1>            Fn=boost::python::api::object,
1>            U=boost::python::api::object,
1>            T=Foo,
1>            LeafVisitor=boost::python::api::object,
1>           
Helper=boost::python::detail::def_helper<boost::python::detail::keywords
<2>,const char [106]>,
1>            DerivedVisitor=boost::python::api::object
1>        ]
1>        .\src\my_export.cpp(422) : see reference to function template
instantiation 'boost::python::class_<W,X1,X2,X3>
&boost::python::class_<W,X1,X2,X3>::def<boost::python::api::object,
boost::python::detail::keywords<nkeywords>,const char[106]>(const char *,
Fn,const A1 &,A2 (&))' being compiled
1>        with
1>        [
1>            W=Foo,
1>            X1=FooSP,
1>            X2=boost::python::detail::not_specified,
1>            X3=boost::python::detail::not_specified,
1>            nkeywords=2,
1>            Fn=boost::python::api::object,
1>            A1=boost::python::detail::keywords<2>,
1>            A2=const char [106]
1>        ]




More information about the Cplusplus-sig mailing list