[un/loquer] Ayuda con c++

Dirección platohedro direccionplatohedro en gmail.com
Jue Oct 10 03:05:45 UTC 2013


Que chimba de hilo!!!
Todo un cortometraje

un abrazo
Alex


El 9 de octubre de 2013 21:07, Johnny sepulveda <
johnnyalexandersepulveda en gmail.com> escribió:

> Es un ejercicio, pero me siento tan contento de haberlo entendido, que
> quede engomado :)
>
>
> El 9 de octubre de 2013 21:00, Rafael Vega <email.rafa en gmail.com>escribió:
>
> Esto es un ejercicio de entender punteros?  Si no, no te compliques la
>> vida y escribí:
>>
>> color1 = 255;
>>
>> y ya! :)
>>
>>
>> 2013/10/9 Johnny sepulveda <johnnyalexandersepulveda en gmail.com>
>>
>>> YEAH!!!!
>>> Solucionado.
>>> Mil gracias rafa y brol.
>>> El error era exactamente lo que me comentaban Brol y Rafa.
>>> Les comparto mi experiencia aunque ustedes ya la hayan vivido! :P
>>> despues de definir las variables, estaba haciendo esto
>>> *pcolor1 = &color1;
>>> lo cual daba un error porque el asterisco antes de pcolor no va, y me
>>> puse a experimentar a ver si adivinaba, grave error de mas de 6 horas!
>>> la solución era como la daba rafa =
>>> pcolor1 = &color1;
>>> y listo.
>>> Mil gracias parceros!
>>> un abrazo
>>>
>>>
>>>
>>> El 9 de octubre de 2013 20:47, Rafael Vega <email.rafa en gmail.com>escribió:
>>>
>>> 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 en gmail.com>
>>>>
>>>>> EXEC_BAD_ACCESS = "Oeoeoeoeoe!!! pa donde va!!! esa memoria no es
>>>>> suya!!!"
>>>>>
>>>>>
>>>>> 2013/10/9 Rafael Vega <email.rafa en 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 en 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 en lists.aktivix.org
>>>>>>> https://lists.aktivix.org/mailman/listinfo/unloquer
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Rafael Vega
>>>>>> email.rafa en gmail.com
>>>>>>
>>>>>
>>>>>
>>>>>
>>>>> --
>>>>> Rafael Vega
>>>>> email.rafa en gmail.com
>>>>>
>>>>
>>>>
>>>>
>>>> --
>>>> Rafael Vega
>>>> email.rafa en gmail.com
>>>>
>>>> _______________________________________________
>>>> unloquer mailing list
>>>> unloquer en lists.aktivix.org
>>>> https://lists.aktivix.org/mailman/listinfo/unloquer
>>>>
>>>>
>>>
>>>
>>> --
>>> Johnny Sepúlveda
>>>
>>> ---------------------------------------------------------------------------
>>>
>>> 301 592 6880
>>> Sitio Web : http://johnnyalexandersepul.wix.com/kaziuz
>>>
>>> _______________________________________________
>>> unloquer mailing list
>>> unloquer en lists.aktivix.org
>>> https://lists.aktivix.org/mailman/listinfo/unloquer
>>>
>>>
>>
>>
>> --
>> Rafael Vega
>> email.rafa en gmail.com
>>
>> _______________________________________________
>> unloquer mailing list
>> unloquer en lists.aktivix.org
>> https://lists.aktivix.org/mailman/listinfo/unloquer
>>
>>
>
>
> --
> Johnny Sepúlveda
> ---------------------------------------------------------------------------
>
> 301 592 6880
> Sitio Web : http://johnnyalexandersepul.wix.com/kaziuz
>
> _______________________________________________
> unloquer mailing list
> unloquer en lists.aktivix.org
> https://lists.aktivix.org/mailman/listinfo/unloquer
>
>


-- 
PLATOHEDRO
Plataforma creativa audiovisual

Conciliando la justicia y la libertad
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <https://lists.aktivix.org/pipermail/unloquer/attachments/20131009/fb5467f0/attachment.html>


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