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

    [c++]cast tra SmartPointer

    ciao.
    Come faccio a fare il cast tra due smartpointer che derivano dalla stessa classe base ?
    devo usare un dynamic_cast?
    come?

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    mi spiego meglio :

    per le eventualità :
    codice:
    NodeImporterPtr pnewNode = GetChildNodeImporter((*pProvChild)[i],i);
    pNodeCopy->Insert(pnewNode);
    la dichiarazione della funzione è :
    void CNodeImporter::Insert(Wm4::CNodeBasePtr pNode)

    dove CNodeBasePtr è la classe padre di NodeImporrterPtr, in questo caso il cast si dice implicito?
    scusate se sbaglio.

    poi:
    codice:
    	for( int i = 0 ; i < GetChildrenCount(); i++){
    		Pointer<NodeImporterPtr> pNode = Pointer<CNodeImporterPtr>(m_children[i].m_pkObject);
    		pNode->AcceptVisitors(pVisitor);
    
    
    //dichiarazione:
    std::vector< CNodeBasePtr> m_children;

    come faccio il cast tra i due smart pointer?


    grazie.

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 © 2026 vBulletin Solutions, Inc. All rights reserved.