Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    81

    [c++] Problemi con rimozione elementi da un vettore

    Ciao, ho bisogno di riempire un vettore con dei dati durante la lettura del file e di analizzare successivamente il vettore..fin qui nessun problema..ma se mentre opero sul vettore e cerco di rimuovere un elemento dopo aver salvato i dati relativi inseriti nel vettore mi viene sollevato il seguente errore..il codice che me lo generà è il seguente..avete qualche suggerimento da darmi???
    codice:
     void SAXPrintHandlers::endElement(const XMLCh* const name)
    {
    	int len = pathdata.size();
    	PathData elem;
    	wstring path;
    	
    	wstring a =L"\\";
    	const char* n= StrX(name);
    	
    	const char* n1=(const char*)elem.element.data();
    	
    	for (int index = 0; index < len; index++){
    		if(len!=0){	
    		elem = pathdata[index];
    	
    		if(strcmp(n1,n)!=1){
    			
    		path+=elem.element.data();
    		
    		path+=a;
    		pathdata.pop_back();
    		}else{
    		
    		}
    		}else{}
    }

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480

    Re: [c++] Problemi con rimozione elementi da un vettore

    Originariamente inviato da tina8
    ... il seguente errore ...
    Quale errore?
    No MP tecnici (non rispondo nemmeno!), usa il forum.

  3. #3
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    81
    Asserzione di debug non riuscita!
    Program: <path and filename here> Programma: qui> <percorso e il nome
    File: <path the vector include file> File: <percorso il vettore comprendono file>
    Line: 163 Linea: 163

    Expression: ("_Myptr + Off <= ((_Myvec Espressione: ("+ _Myptr Off <= ((_Myvec
    *)(this->_Getmycont()))->_Mylast && _Myptr + _Off >= ((Myvec *) (This-> _Getmycont ()))->_ Mylast & & _Myptr + _Fuori> = ((Myvec
    *)(this->_Getmycont()))->_Myfirst", 0) *) (Questo-> _Getmycont ()))->_ mio primo ", 0)

  4. #4
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Se rimuovi un elemento dal vector ne modifichi anche la lunghezza, quindi quel ciclo finirà per accedere a una locazione non valida, lanciando l'assert.
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2009
    Messaggi
    81
    Perfetto..avevo immaginato che il problema fosse quello e come posso ovviare a questo problema???

  6. #6
    Utente di HTML.it L'avatar di shodan
    Registrato dal
    Jun 2001
    Messaggi
    2,381
    Puoi annullare le locazioni che soddisfano la condizione e poi compattare il vector, oppure usare un vector di appoggio su cui fare il ciclo.

    P.S.
    Per annullare non intendo metterle a NULL, ma a L"".
    This code and information is provided "as is" without warranty of any kind, either expressed
    or implied, including but not limited to the implied warranties of merchantability and/or
    fitness for a particular purpose.

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