Foros del Web » Programación para mayores de 30 ;) » C/C++ »

[SOLUCIONADO] Boost Testing, con miembro std::list...

Estas en el tema de Boost Testing, con miembro std::list... en el foro de C/C++ en Foros del Web. El problema es bastante simple tengo un Tipo (class) que posee un miembro Personal que es del tipo std::list; el inconveniente es que cuando trato ...
  #1 (permalink)  
Antiguo 13/06/2014, 11:34
Tupac01
Invitado
 
Mensajes: n/a
Puntos:
Boost Testing, con miembro std::list...

El problema es bastante simple tengo un Tipo (class) que posee un miembro Personal que es del tipo std::list; el inconveniente es que cuando trato de crear el el objeto, con su constructor por defecto, sin inicializar nada, Boost tiene un error fatal de memoria. Si quito la declaración de la std::list del Tipo pues el Test funciona de lo más bien.

Si alguien tiene alguna idea sobre esto me lo deja saber, Gracias.

Tupac01
  #2 (permalink)  
Antiguo 13/06/2014, 11:51
 
Fecha de Ingreso: junio-2008
Ubicación: Seattle, USA
Mensajes: 733
Antigüedad: 15 años, 10 meses
Puntos: 61
Respuesta: Boost Testing, con miembro std::list...

Sugiero añadir las partes relevantes del codigo.
__________________
Visita mi perfil en LinkedIn
  #3 (permalink)  
Antiguo 13/06/2014, 12:10
Tupac01
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Boost Testing, con miembro std::list...

Estaba desde ayer en este problema, hasta que escribi para pedir ayuda me llego la posible solución. Anterior mente me habia ocurrido algo parecido con esta misma libreria de <boost/test/included/unit_test.hpp>. Bien :

Código:
#include <list>

class A {
   std::list< Obj* > _que Lista;
}
entonces,

Código:
#define BOOST_TEST_MODULE documento
#include <boost/test/included/unit_test.hpp>

BOOST_AUTO_TEST_CASE( prueba ) {
    A var;

    BOOST_CHECK( true );
}
después de compilar, Error:

Código:
*** glibc detected *** prueba/prueba: malloc(): memory corruption: 0x08b48798 ***
Bien mi problema es la manera de declarar el miembro de la clase siempre hay que asegurarse de trabajar con apuntador. Al parecer el código de boost no puede encapsular el objeto con un miembro que no conoce su posible tamaño.

Código:
#include <list>

class A {
   std::list< Obj* >* _que Lista;
}
Saludos y gracias CalgaryCorpus,
Tupac01

Etiquetas: funcion, testing
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:41.