私の人生では、参照によって b2Body (Box2d オブジェクト) をメソッドに渡し、それに値を割り当てる方法がわかりません。
void GameContactListener::GetContactInfo(b2Body &hero, b2Body &ground, b2Body &enemy) {
b2Body *b1 = thing1->GetBody();
b2Body *b2 = thing2->GetBody();
// EXC_BAD_ACCESS HERE
hero = *b1;
ground = *b2;
}
// elsewhere
b2Body *hero = NULL;
b2Body *ground = NULL;
GetContactInfo(*hero, *ground);
単純なint
型では参照渡しが機能しますが、ポインターで何かが欠けているようです。
メソッドの宣言を追加して編集します。
void GetContactInfo(b2Body& hero, b2Body& ground, b2Body& enemy);