PDA

View Full Version : [C++] problema con std::vector (compilazione ok) - cosa può essere?


RiKkaRdo
14-02-2005, 16:16
Salve,
mi rivolgo a voi perchè è da un'ora che cerco di capire dove sta il problema nell'utilizzo di vector.

Il codice (C++) è il seguente (scrivo le righe che interessano il problema)

typedef struct {
int a;
int b;
long c;
} STRUTTURA;

main(){

STRUTTURA nuovaStruttura;
std::vector<STRUTTURA> vettoreStrutture;

nuovaStruttura.a=0;
nuovaStruttura.b=0;
nuovaStruttura.c=0;

vettoreStrutture.push_back(nuovaStruttura);

}


la compilazione da 0 errors e 0 warnings. Il linker idem, ma nell'esecuzione il programma "salta".
Il programma che ho scritto è esemplificativo di quello che in realtà mi da problemi, ma la costruzione del vettore è analoga.

In fase di debug procedendo passo per passo arrivo fino alla riga:

vettoreStrutture.push_back(nuovaStruttura);

e qui procedendo mi si apre una finestra con scritto: Unhandled exception in source.exe 0xc0000005: Access Violation
nella quale posso premere il pulsante Ok

Inoltre (se vi può esser d'aiuto) mi si apre il codice (credo di una libreria che implementa vector) nella quale il debug è fermo su una riga dove viene utilizzato new... (ripeto, non so quanto possa esser utile per capire cosa c'è che non va)

Vi ringrazio per il tempo dedicato ma io continuo a

:muro: :muro: :muro:

anx721
14-02-2005, 16:40
Che compilatore usi? Io con MinGW non ho nessun errore

RiKkaRdo
14-02-2005, 19:48
uso visual C ++;

comunque l'errore era molte righe sopra anche se il programma saltava sul push_back.

In pratica varie righe sopra avevo scritto una cosa del genere

char stringa1[200];

strcat(stringa1, "pippo");

ho corretto in

strcpy(stringa1, "pippo");

e come prima cosa in stringa1 trovo effettivamente la stringa pippo. In secondo luogo il push_back non da problemi ...

Ti ringrazio molto anx721 per il tempo dedicatomi

;)