on Thu Jan 29 2009, William Marié <william.marie-AT-gmail.com> wrote:
> Hi David, > > Here is the reproducible test ( just change the boost.strap and the python > paths in > the jamroot ) !! > Thanks for your time void testVirtualPure( BaseCmp* pBaseCmp ) { this->get_override("testVirtualPure")( ptr( pBaseCmp ) ); } // ^^^^ ^ Creating Python objects that reference C++ objects by pointer is dangerous; if you really want to do that, wrap the C++ pointer in ptr(...). Otherwise Boost.Python will try to copy it. You declared BaseCmp to be noncopyable, so no converter was registered that would copy a BaseCmp object into a new Python object. > David Abrahams a écrit : >> on Wed Jan 28 2009, William Marié <william.marie-AT-gmail.com> wrote: >> >> >>> I need to call my testVirtualPure function from C++ side : BaseCmp* bc = >>> BaseCmp(); >>> Base* b = Base(); >>> b->testVirtualPure( bc ); >>> >>> But this causes an error : TypeError: No to_python (by-value) converter >>> found for >>> C++ type: class >>> BaseCmp >>> >> >> The above doesn't compile, so you can't possibly be getting that >> TypeError from it. Please post the exact complete, reproducible example >> that causes youi problems, after reducing it to a minimal test case. >> >> Thanks, >> > > > _______________________________________________ > Cplusplus-sig mailing list > Cplusplus-sig@python.org > http://mail.python.org/mailman/listinfo/cplusplus-sig -- Dave Abrahams BoostPro Computing http://www.boostpro.com _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig