¿Cuál de los siguientes es incorrecto, por favor?En C++ punteros y referencias, se necesita aclaración
Tengo entendido que un puntero representa una dirección de algo de algún tipo.
Así, int i = 18
, un puntero a ella es int *pI = &i;
Los siguientes 2 declaraciones son válidas
void foo (int &something) // Will accept an address of something
void bar (int *something) // Will accept a pointer to something
Cuando declaramos una función como
void bar (int *something)
mejor que nos enviamos un puntero a alguna cosa. De hecho, foo(pI)
funciona.
Siguiendo la misma lógica, cuando se mira en
void foo (int &something)
debemos enviar una dirección de algo que apunta a un int como argumento, por lo que a continuación:
¿Por qué es foo(&i)
mal?