Visualizzazione dei risultati da 1 a 4 su 4
  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++]const e classe base

    ciao.
    Ho la seguente funzione :
    codice:
    CBoundingBoxSphere* CBoundingBoxSphere::MergeSpheres (const CBoundingBoxSphere& rkSphere0, const CBoundingBoxSphere& rkSphere1)
    {
    	XMVECTOR kCDiff = rkSphere1.GetCenter() ;
    .
    .
    .
    CBoundingBoxSphere deriva da CBoundingBoxBase che ha una funzione:
    codice:
    XMVECTOR CBoundingBoxBase::GetCenter()
    {
    	return m_fCenter;
    }
    mi da quest errore:
    Error 1 error C2662: 'PGE::CBoundingBoxBase::GetCenter' : cannot convert 'this' pointer from 'const PGE::CBoundingBoxSphere' to 'PGE::CBoundingBoxBase &' C:\PGN2010\trunk\PGEAPP\BoundingBox\BoundingBoxSph ere.cpp 27


    se tolgo i const tutto funziona correttamente , solo che io vorrei iniziare ad usarli .

    grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jan 2011
    Messaggi
    1,469
    hai messo un & di troppo

  3. #3
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    non credo sia quello il problema, ho risolto mettendo un const dopo la funzione , ma non ho una spiegazione chiara del perchè.

  4. #4
    Utente di HTML.it L'avatar di KrOW
    Registrato dal
    Feb 2009
    Messaggi
    281
    Ciao ... Se vuoi richiamare un metodo su di un oggetto costante, il metodo deve essere anchesso dichiarato costante (cio garantisce che all' interno del metodo non si potra modificare l' oggetto) ... Nel tuo caso potresti modificare il prototipo e la definizione del metodo GetCenter:
    codice:
    XMVECTOR CBoundingBoxBase::GetCenter() const;
    .......
    XMVECTOR CBoundingBoxBase::GetCenter() const
    {
    return m_fCenter;
    }
    C++ 4ever
    496e2062696e6172696f206e6f6e2063692061767265737469 206e656d6d656e6f2020726f7661746f203a29

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.