これがコードです、それはかなり簡単です。
class Foo
{
public:
void print()
{
std::cout<<"Foo::print\n";
}
};
Game::Game()
{
{
Foo foo;
player.onclick = bind(&Foo::print,foo);
}
player.onclick();
}
内部スコープが実行された後、fooオブジェクトはスコープ外になりますが、printメソッドは引き続き呼び出されます。これは、プレーヤーがfooオブジェクトへの参照を保持しているために発生すると思いますか?これを防ぐ方法はありますか?オブジェクトが破壊されることになっているときに、オブジェクトを存続させてイベントを受信させたくありません。
ありがとう。