Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565

    C++ - Puntatore valido oppure no?

    Ho una classe D3D che viene estesa nel modo che segue
    codice:
    class D3DMeshContainerEx	:	public D3DXMESHCONTAINER
    	{
    		public:
    			LPDIRECT3DTEXTURE9		*ppTextures;
    			LPD3DXMESH				pSkinMesh;
    			LPD3DXMATRIX			pBoneMatrices;
    			LPD3DXMATRIX			*ppFrameMatrices;
    Ora quando uso la classe (che viene allocata dinamicamente, ossia D3DMeshContainerEx *a = new D3DMeshContainerEx) non alloco i 2 puntatori pBoneMatrices e ppFrameMatrices non vengono allocati.
    Ricordando che LPD3DXMATRIX è un typedef di D3DXMATRIX*
    Ora se io passo col mouse sopra questi puntatori mi riporta l'indirizzo
    0xcdcdcd (ma che indirizzo è?)
    Ora se faccio
    codice:
    	if	(ppFrameMatrices)	
    		delete []	ppFrameMatrices;
    Egli valuta il puntatore come giusto e tenta di eliminarlo (mandandomi a cagare).
    Proprio ora mi è venuta l'idea di settarlo a NULL appena creato ora provo.
    ma che indirizzo è 0xcdcdcd?
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  2. #2
    Utente di HTML.it L'avatar di XWolverineX
    Registrato dal
    Aug 2005
    residenza
    Prague
    Messaggi
    2,565
    Mettendo tutto a NULL ha funzionato.
    "Se proprio devono piratare, almeno piratino il nostro." (Bill Gates)

    "Non è possibile che 2 istituzioni statali mi mettano esami nello stesso giorno." (XWolverineX)

    http://xvincentx.netsons.org/programBlog

  3. #3
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,466
    0xcdcdcdcd e' il valore standard di un puntatore assegnato dal compilatore Visual C/C++ quando questo non e' inizializzato e si e' in modalita' Debug.

    Questo fatto consente al runtime di Debug di individuare i problemi con i puntatori.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.