Cita de: lapras en 21 Noviembre 2013, 14:16 PM
El segundo argumento de lista.insert() debería ser un número.
Además de eso, dado que s es un puntero debes acceder los elementos así:Código (cpp) [Seleccionar](*s)[i]
en vez de así:Código (cpp) [Seleccionar]s[i]
Otra cosa es que no tiene sentido pasar un puntero por referencia:Código (cpp) [Seleccionar]vector<string>* &s
El segundo parametro del insert no debería ser un número, ya que la lista se ha declarado como lista de string.
En cuanto a la solución dada, funciona, muchas gracias. No sé como no se me había pasado por la cabeza esto... Supongo que por la poca experiencia que tengo en memoria dinámica.
Una duda:
Código [Seleccionar]
*s[i]
Esto no me funcionaba porque lo cogía todo como un puntero, ¿verdad? Es decir, como si fuera un vector de punteros.
Y la segunda parte en la que me dices que no tiene sentido pasar un puntero por referencia, supongo que es porque aunque se cree una copia del puntero, la posición de memoria a la que apunta será modificada igualmente, ¿cierto? Por lo que el puntero de la primera función ya apuntará al valor modificado.
Saludos