SoloCodigo

Programación General => C/C++ => Mensaje iniciado por: Hypocrisy en Miércoles 8 de Abril de 2009, 13:45

Título: Problemilla tonto
Publicado por: Hypocrisy en Miércoles 8 de Abril de 2009, 13:45
Hola de nuevo, tengo un problema bastante tonto, tengo este codigo:

Código: C++
  1. Cruiser *UOCTA::addCruiser(string name, int nights, float price, string departure, Ship *ship, vector<Scale*> scales) {
  2.     Cruiser *ret=NULL;
  3.     if (this->baseCurrency !=""){
  4.                            Cruiser *scx= new Cruiser(name,nights,price,departure,*ship,Scale);
  5.                            cruisers.push_back(scx);
  6.                            return (scx);
  7.                            }
  8.                            return ret;
  9.  

Para crear una nueva "lista" necesito poner "Ship *ship, vector<Scale*> scales" en Cruiser *scx= new Cruiser(name,nights,price,departure,Ship,Scale);
pero nose como pasar el vector scale a la nueva instancia. Que deberia poner?  :S
Título: Re: Problemilla tonto
Publicado por: Eternal Idol en Miércoles 8 de Abril de 2009, 14:09
vector<Scale*> scales

Solo tenes que pasar el nombre de la variable: scales.

PD. Mejor pasa por referencia o puntero los vectores ...
Título: Re: Problemilla tonto
Publicado por: Hypocrisy en Miércoles 8 de Abril de 2009, 15:01
¬¬ eso ya lo puse antes de abrir el quote. Lo que me saltaba un error...ahora cuando lo ejecute otra vez ,pego el error y a ver que me puedes decir
Título: Re: Problemilla tonto
Publicado por: Eternal Idol en Miércoles 8 de Abril de 2009, 15:42
Yo me referia a esto:
Cruiser *scx= new Cruiser(name,nights,price,departure,*ship,Scale);

¿¿Te compila?? Le tendras que pasar la variable scales y no la clase Scale ...