[un/loquer] Ayuda con c++

Rafael Vega email.rafa en gmail.com
Jue Oct 10 01:47:33 UTC 2013


Y no es el compilador el que dice eso, es el sist. Operativo. Por eso es
que a veces los IDEs son pelles, no sabes de donde viene que o que....


2013/10/9 Rafael Vega <email.rafa at gmail.com>

> EXEC_BAD_ACCESS = "Oeoeoeoeoe!!! pa donde va!!! esa memoria no es suya!!!"
>
>
> 2013/10/9 Rafael Vega <email.rafa at gmail.com>
>
>> El asunto es este:
>>
>> *    **color1**                      = **255**;*
>>
>> *    ***pcolor1**                    = **color1**;*
>>
>> Ahi estás diciendo "Meta el valor 255 en la posición de memoria a la que
>> apunta pcolor1" (el * es equivalente a "lo que hay en"). Hasta ahi todo
>> bien, el compilador no pone problema.
>>
>> Sin embargo, cuando el programa corre y trata de meter el valor 255 a
>> donde sea que esté apuntando pcolor1.... Hey!!! a donde está apuntando
>> pcolor1????  No se sabe! no lo has inicializado.   Puede que esté apuntando
>> a la dirección 0x87FA32, o a la dirección 0x00. Lo mas probable es que
>> apunte a una dirección de memoria a la que tu programa no tiene acceso.
>> Cuando eso pasa, el sistema operativo dice: "Oeoeoeoeoe!!! pa donde va!!!
>> esa memoria no es suya!!!" y mata el programa.
>>
>> La solución es decir:  "pcolor1, apunte a la dirección de memoria donde
>> está almacenado el color1", usando el operador "&" (dirección de). Asi:
>>
>> color1 = 255;
>> pcolor1 = &color1;
>>
>> Y luego: "Meta el valor 87 a donde esté apuntando pcolor1":
>>
>> *pcolor1 = 87;
>>
>> Salud!
>>
>> Rafa.
>>
>>
>>
>> 2013/10/9 Johnny sepulveda <johnnyalexandersepulveda at gmail.com>
>>
>>> Hola a todos.
>>>
>>> Escribo porque ando estudiando c++, y pues no entiendo muy bien algo que
>>> me dice el compilador.
>>> Les describo el problema.
>>> Tengo una variable int color en una clase llamada Circulo.h y un puntero
>>> apuntando valga la rebundacia a esa variable.
>>> Esta es la pinta que tiene la variable y el puntero.
>>>
>>> int color1;
>>> int* pcolor1;
>>>
>>> Ahora en el .cpp del .h del Circulo los tengo definidos asi.
>>>
>>> *Circulo**::**Circulo**()*
>>>
>>> *{*
>>>
>>> *    **//inicializamos las variables*
>>>
>>> *    **radio**                       = ((**ofGetWidth**() + **
>>> ofGetHeight**()) / **20**) - **10**; *
>>>
>>> *    **posX**                        = **300**; *
>>>
>>> *    **posY**                        = **200**; *
>>>
>>> *    **velX**                        = **2.5**;*
>>>
>>> *    **velY**                        = **2.2**;*
>>>
>>> *    **dirX**                        = **1**;*
>>>
>>> *    **dirY**                        = **1**;*
>>>
>>> *    **color1**                      = **255**;*
>>>
>>> *    **color2**                      = **234**;*
>>>
>>> *    **color3**                      = **45**;*
>>>
>>> *    ***pcolor1**                    = **color1**;*
>>>
>>> *    ***pcolor2**                    = **color2**;*
>>>
>>> *    ***pcolor3**                    = **color3**;*
>>>
>>> *}*
>>> Ahora, el compilador no me arroja ningun error, me dice algo con Thread
>>> que no entiendo muy bien.
>>> SI Brol o Rafa me pueden ayudar, aunque se que andan cortos de tiempo
>>> les agradeceria demasiado, estoy desde las 2 pm tratando de resolver esto
>>> pero no soy capaz de rendirme.
>>> Anexo un pantallazo tambien.
>>> Mil gracias de nuevo. !
>>>
>>> --
>>> Johnny
>>>
>>> ---------------------------------------------------------------------------
>>>
>>>
>>> _______________________________________________
>>> unloquer mailing list
>>> unloquer at lists.aktivix.org
>>> https://lists.aktivix.org/mailman/listinfo/unloquer
>>>
>>>
>>
>>
>> --
>> Rafael Vega
>> email.rafa at gmail.com
>>
>
>
>
> --
> Rafael Vega
> email.rafa at gmail.com
>



-- 
Rafael Vega
email.rafa at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.aktivix.org/pipermail/unloquer/attachments/20131009/6afa0161/attachment-0001.html>


Más información sobre la lista de distribución unloquer