Welcome to the CHICKEN Scheme pasting service
Stupid inheritance added by Linearity on Mon Oct 17 18:59:56 2011
SpriteChange(SpriteObject *p_object = NULL, Sprite *p_newSprite = NULL); class FieldObject : public MovementObject2D, public SpriteObject, public CollisionObject2D class Character : public FieldObject class Avatar : public Character //this works in C++ Avatar *avatar = new Avatar(); SpriteChange *change = new SpriteChange(avatar); change->someFunction() // this calls a function on the data member of type SpriteObject * ;; Now for the Chicken bindings (define new-Avatar (foreign-lambda* (c-pointer "Avatar") ( <BLAH BLAH BLAH parameters> ) "C_return(new Avatar( <BLAH BLAH BLAH arguments> );")) (define new-SpriteChange (foreign-lambda* (c-pointer void) (((c-pointer "SpriteObject") object) ((c-pointer void) sprite)) "C_return(new SpriteChange(object, (Sprite *)sprite));"))