我的程序中有以下内容(似乎工作正常),但会导致编译器警告:
从不兼容的指针类型传递cpSpaceAddCollisionHandler的参数7。
cpSpaceAddCollisionHandler(space, COLLISION_TYPE_BALL, COLLISION_TYPE_LEFT_WALL, collisionBallWallBegin, nil, nil, collisionBallWallEnd, self);
collisionBallWallBegin
不会导致此警告,并且两个方法声明相同:
static int collisionBallWallBegin (cpArbiter *arb, cpSpace *space, void *data)
和
static int collisionBallWallEnd(cpArbiter *arb, cpSpace *space, void *data)
我无法弄清楚为什么我会收到警告,这让我疯了!
答案 0 :(得分:0)
begin
必须是cpCollisionBeginFunc
,它需要三个参数并返回cpBool
。
相比之下,separate
需要是cpCollisionSeparateFunc
,它需要三个参数,不会返回值。