BUSCAR
INICIO
MAPA
FAQs
UTILIDADES
GLOSARIO
REGISTRO
COLABORAR
QUIENES SOMOS

USUARIO

PASSWORD

FAQs
6. Punteros

4. Tengo una función que recibe, y se supone, inicializa, un puntero:

int *ip;
void f(ip) {
         static int dummy = 5;
          ip = &dummy;
}
Pero cuando la llamo de esta manera:
               int *ip;
               f(ip);

el puntero no cambia.

¿Estas seguro de que la función inicializa lo que tu quieres? Recuerda que los argumentos en C++ son pasados por valor. La función llamada cambia sólo la copia pasada del puntero. 

Seguramente lo que querrás será pasar la dirección del puntero (la función tendrá que tener como parámetro un puntero a puntero), o de otra manera, tendrás que hacer que la función devuelva el propio puntero.
.