Ver Mensaje Individual
  #4 (permalink)  
Antiguo 02/12/2014, 04:26
eferion
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 3 meses
Puntos: 204
Respuesta: Qt. No me funciona prepend

la firma de la función prepend:

Código C++:
Ver original
  1. QString & QString::prepend ( const QString & str )

Es decir, prepend modifica el string actual y devuelve una referencia de la instancia actual.

Con tu código original:

Código C++:
Ver original
  1. datos.value(0).value(i)=datos.value(0).value(i).prepend(LeyendasCabecera[i]);

Si lo simplificamos un poco:

Código C++:
Ver original
  1. str=str.prepend(LeyendasCabecera[i]);

Resulta que estás haciendo esto:

Código C++:
Ver original
  1. str.prepend(LeyendasCabecera[i]);
  2. str = str;

Y esa última asignación no es algo especialmente recomendable en C++.

Dicho esto, tal y como dicta la firma que te he puesto al inicio de la función, es posible que tu código funcione simplemente con esto:

Código C++:
Ver original
  1. datos.value(0).value(i).prepend(LeyendasCabecera[i]);

Si no funciona es porque value(0) o value(i) está devolviendo un string por valor en vez de por referencia. No puedo decir más porque ignoro la estructura de "datos".

Un saludo.