Título: Reservar memoria con new a una clase con varios elementos y constructor. Publicado por: anonimo12121 en 17 Febrero 2012, 02:05 am Buenas quería saber cual es el problema de esto.
Personaje *enemy= new[10] Personaje(app,"img/enemy.png"); Me da este error. error: expected identifier before '[' token| |3|error: expected `,' or `;' before "Personaje"| Lo que pienso es que no se puede reservar memoria dándole un constructor. Pongo aquí el código por si me estoy equivocando. main.cpp Código gui.hpp Código personaje.hpp Código
PD: Espero solución gracias :) Título: Re: Reservar memoria con new a una clase con varios elementos y constructor. Publicado por: x64core en 17 Febrero 2012, 02:14 am http://en.wikipedia.org/wiki/New_(C%2B%2B)
Título: Re: Reservar memoria con new a una clase con varios elementos y constructor. Publicado por: naderST en 17 Febrero 2012, 04:23 am Si no me equivoco, no puedes usar el operador new[] para una clase que no tiene constructor por defecto... OJO no recuerdo bien.
Título: Re: Reservar memoria con new a una clase con varios elementos y constructor. Publicado por: BlackZeroX en 17 Febrero 2012, 04:32 am Personaje *enemy= new[10] Personaje(app,"img/enemy.png");
mmm no se pero prueba con esto... Personaje *enemy= new Personaje[10] (app,"img/enemy.png"); o asi; Personaje *enemy= new Personaje[10] {(app,"img/enemy.png")}; mmm no recuerdo bien... y bueno la cosa es meterle mano... igual releernos la sintasix... Dulces Lunas!¡. Título: Re: Reservar memoria con new a una clase con varios elementos y constructor. Publicado por: x64core en 17 Febrero 2012, 09:12 am Si no me equivoco, no puedes usar el operador new[] para una clase que no tiene constructor por defecto... OJO no recuerdo bien. Que yo sepa todos las clases tienen un constructor por defecto, sino definimos uno el compilador crea uno por defectoTítulo: Re: Reservar memoria con new a una clase con varios elementos y constructor. Publicado por: Eternal Idol en 17 Febrero 2012, 09:55 am Initializing Objects Allocated with new (http://msdn.microsoft.com/en-us/library/cb6bd5ek.aspx).
No explicit per-element initialization can be done when allocating arrays using the new operator; only the default constructor, if present, is called. See Default Arguments for more information. [10.5] Which constructor gets called when I create an array of Fred objects? (http://www.parashift.com/c++-faq-lite/ctors.html#faq-10.5) Código
Título: Re: Reservar memoria con new a una clase con varios elementos y constructor. Publicado por: anonimo12121 en 17 Febrero 2012, 11:30 am Osea tengo que hace lo que dice eterna Idol. Lo demás no funciona. Toca aprender Vector XD
Título: Re: Reservar memoria con new a una clase con varios elementos y constructor. Publicado por: naderST en 17 Febrero 2012, 15:39 pm Que yo sepa todos las clases tienen un constructor por defecto, sino definimos uno el compilador crea uno por defecto Es correcto, pero eso sucede solo si no has definido un constructor y él ya definió uno. |