[C++-sig] wrap global variable (def not work)

Zhang Le ejoy at 163.com
Wed Jun 4 09:19:31 CEST 2003


Hello, 
  I want to wrap a single int variable to python model but failed:
  the code is:
  int verbose = 1;
  BOOST_PYTHON_MODULE(foo)
  {
      def("verbose", &verbose);
  }

  Error message:
  ...
  /usr/local/include/boost/python/make_function.hpp: In function
 `boost::python::api::object boost::python::make_function(F) [with F
 = int*]':
    /usr/local/include/boost/python/def.hpp:81:   instantiated from
    `boost::python::api::object
    boost::python::detail::make_function1(T,  ...) [with T = int*]'
    /usr/local/include/boost/python/def.hpp:90:   instantiated from
    `void boost::python::def(const char*,  Fn) [with Fn = int*]'
    foo.cpp:50:   instantiated from here
    /usr/local/include/boost/python/make_function.hpp:76: no
    matching function for
       call to `get_signature(int*&)'
    ...

    It seems def can only be used on class members. Any tips?
-- 
                                     Sincerely yours,
                                            Zhang Le




More information about the Cplusplus-sig mailing list