Box2d 无法转换为 void*

Box2d cannot cast to void*

https://www.iforce2d.net/b2dtut/collision-callbacks

我正在引用此站点来实现崩溃侦听器。但是在实施 BeginContact 时出现以下错误: getUserDate() 的结果无法转换为 void* 类型。

void BeginContact(b2Contact* contact)
{
    void* data = contact->GetFixtureA()->GetBody()->GetUserData(); //error!!
}

此错误是因为 Erin Cato 最新发布的 Box2D 更改了之前版本的 return 类型 returning a void* to returning b2BodyUserData&. The definition of the latter being:

struct B2_API b2BodyUserData
{
    b2BodyUserData()
    {
        pointer = 0;
    }

    /// For legacy compatibility
    uintptr_t pointer;
};

(不会隐式转换为 void*)。