Ver Mensaje Individual
  #1 (permalink)  
Antiguo 11/03/2011, 09:12
ray341034
 
Fecha de Ingreso: marzo-2011
Mensajes: 1
Antigüedad: 13 años, 9 meses
Puntos: 0
memoria vector<double> C++

Hola,

estoy intenando ejecutar un cógido en c++ i me da el siguiente error:

terminate called after throwing an instance of 'std::bad_alloc'
what(): std::bad_alloc
Aborted

Sacando operanciones sencillas he localizado el error dentro de este loop:

for(j=1;j<N;j++){
for(i=1;i<N;i++){
vector<double> F;
vector<double> l;
funcion_externa(F,l);
F.clear();
l.clear();
}
}


Para N<400 funciona i funciona todo correctamente, pero si hago N mayor se para. Entiendo que tengo un problema de memoria RAM. Estoy llamando una funcion externa que usa los punteros a los vectores de F y l, así que lo primero que me pasa por la cabeza es que reservo demasiado espacio de memoria.

Mi pregunta es, como lo hago para "eliminar" el puntero cada vez? Ya que los vectores solo me interesan dentro del loop.

Gracias!!