Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Problema con C++ : Access violation

Iniciado por O2, 20 de Noviembre de 2002, 08:30:22 PM

« anterior - próximo »

O2

                                Buenas:

Tengo un problema con unas clases y me preguntaba si alguien que supiera C++ podria comentarme por que sucede y como solucionarlo...

Tengo una clase y una funcion miembro tal que asi:





class CRGB{

public:



   CRGB();

   CRGB(float R,float G,float B);



   void CopiarDesde(CRGB& Clase);



   float m_R,m_G,m_B;

};





La funcion que me interesa es CopiarDesde:





void CRGB::CopiarDesde(CRGB& Clase)

{

   m_R=Clase.m_R;

   m_G=Clase.m_G;

   m_B=Clase.m_B;

}





Esto funciona bien cuando tengo clases sueltas:





CRGB Color(1.0f,1.0f,1.0f);

CRGB Copia;



Copia.CopiarDesde(Color);





Pero si intento hacer lo siguiente, es cuando recibo el error de Access Violation:





CRGB Colores[2];



Colores[0].m_R=1.0f;

Colores[0].m_G=1.0f;

Colores[0].m_B=1.0f;



int NumCopias=2;



CRGB* Copias=new CRGB[NumCopias];



Copias[0].CopiarDesde(Colores[0]);





Alguien sabria explicarme por que sucede esto y como solucionarlo?

Muchas gracias de antemano!                                

ethernet

a mi no me da ningun problema. Has mirado si new te da NULL ?, aunque es raro.

O2

                                Si, compruebo el estado del puntero justo despues de hacer el new, y parece que esta bien.

Si depuro la aplicación paso a paso, el error lo da a intentar hacer el:





   m_R=Clase.m_R;





Me salta el maldito access violation ese :(

Puede ser un problema por pasar la clase por referencia en CopiarDesde() ?

Gracias por responder ethernet!!                                






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.