SoloCodigo

Programación General => C/C++ => Visual C++ => Mensaje iniciado por: basslawrence en Martes 13 de Octubre de 2009, 17:06

Título: problema con Punteros
Publicado por: basslawrence en Martes 13 de Octubre de 2009, 17:06
Tengo este codigo

int main
{
KeypointIter iter;
Keypoint* kp;

kp = (*iter);

return 0;
}

alguien sabe que significa o que pasa aqui??
kp = (*iter);

Gracias
Título: Re: problema con Punteros
Publicado por: r0d en Martes 13 de Octubre de 2009, 18:14
Hola,

Supongo que la clase KeypointIter sobrecarga el operador de dereferenciación. Tiene que tener esta pinta:
Código: C++
  1. // eso es el operador de dereferenciación, y para que functione con el
  2. // codigo que nos has enseñado, tiene que devolver un Keypoint* :
  3. Keypoint* operator&(Integer& a);
  4.  
  5.  

Si quieres enteder bien lo que pasa, fijate el codigo siguiente, y ejecutalo con puntos de parada para ver lo que pasa:
Código: C++
  1. struct Dum
  2. {
  3.     Dum( int n = 0 ) : num(n) {}
  4.     int num;
  5. };
  6.  
  7. Dum* operator * ( Dum & dum ) { return &dum; }
  8.  
  9. int main()
  10. {
  11.     Dum dum(10);
  12.     Dum* pd = (*dum);
  13. //...
  14. }
  15.