[C++-sig] Boost Python loss of values

Jim Bosch talljimbo at gmail.com
Thu Aug 25 22:18:04 CEST 2011

On 08/25/2011 04:17 AM, Jay Riley wrote:

> And the python exposing is done as follows:
> class_<Attack, AttackWrapper, boost::shared_ptr<Attack>, bases<Action>
>  >("Attack")
> .def("CalculateDamage", &AttackWrapper::CalculateDamageDefault);

This bit looks a little suspect, and I'm surprised that it compiles - 
class_ should only take 4 arguments if one of them is boost::noncopyable.

I think you mean:

class_< Attack, boost::shared_ptr<AttackWrapper>, bases<Action> >



for details of the arguments to class_.

I don't have a good idea as to why this would cause the problem you're 
seeing (maybe you're slicing your AttackWrapper instances into Attack 
instances?) but I'd recommend fixing it first.

Good Luck!

Jim Bosch

More information about the Cplusplus-sig mailing list