Schedule a function under an object

How would you schedule a function under an object?
I tried googling around for an answer but I couldn’t find one.

Something like:
.h

class Player : public Ref {
    //some variables
    void die() {
        layer->scheduleOnce(schedule_selector(Player::respawn), 3.0); //schedule respawn but still be able to access variables save under this object.
    }
    void respawn(float dt) {
        //I need access to "some variables"
    }
}

.cpp

auto one = unique_ptr<Player>(new Player(playersNumber, Vec2(50, 50), mapBackground, lives, Vec2(0, 1), Vec2(1, 0), Vec2(visibleSize.width*2/9, visibleSize.width/9), Vec2(0, 0), Vec2(visibleSize.width*2/9, visibleSize.width/20)));
auto two = unique_ptr<Player>(new Player(playersNumber, Vec2(50, mapBackground->getContentSize().height-50), mapBackground, lives, Vec2(1, 0), Vec2(0, 0), Vec2(visibleSize.width/9, visibleSize.height-visibleSize.width*2/9), Vec2(0, 1), Vec2(visibleSize.width/20, visibleSize.height-visibleSize.width*2/9)));

isn’t it worked?
in my case i run schedule update.

.h
virtual void update( float dt );

.cpp
void Player::update( float dt ) { //code }

I reworded my question slightly to make it more clear.

What’s the problem exactly?

I try to access “some variables” in my scheduled function but whenever I try to it crashes.