Ver Mensaje Individual
  #2 (permalink)  
Antiguo 28/11/2014, 13:33
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: Problema al devolver objeto

Deberías revisar la implementación del operador de asignación (=) de tu clase "Asociacion". Este operador se llama al hacer la asignación "*as=consecuentes[1]".

Por otro lado, as=&consecuentes[0]; esto no va a tener ningún efecto porque "as" está declarada a nivel local, luego si haces que "as" apunte a otro objeto, ese cambio se va a perder fuera de la función:

Código C++:
Ver original
  1. void func( int* ptr )
  2. {
  3.  *ptr = 200;
  4.   ptr = 100;
  5. }
  6.  
  7. int main( )
  8. {
  9.   int dato;
  10.   int* ptr = &dato;
  11.  
  12.   func( ptr );
  13.  
  14.   printf( "%d\n", *ptr ); // imprime 200, ok
  15.   printf( "%p\n, ptr ); // Va a ser distinto de 100, este cambio no se ha aplicado
  16. }