La función no cambia el puntero pasado C ++

Tengo mi función y estoy llenandotargetBubble allí, pero no se llena después de llamar a esta función, pero sé que se llenó en esta función porque tengo código de salida.

bool clickOnBubble(sf::Vector2i & mousePos, std::vector<Bubble *> bubbles, Bubble * targetBubble) {
    targetBubble = bubbles[i];
}

Y estoy pasando el puntero así.

Bubble * targetBubble = NULL;
clickOnBubble(mousePos, bubbles, targetBubble);

¿Por qué no funciona por favor? Gracias

Respuestas a la pregunta(4)

Su respuesta a la pregunta