A veces recibo (aleatoriamente) una inicialización incorrecta de los valores, lo que me hace pensar que estoy usando memoria sin inicializar en alguna parte. Mi estructura principal de datos es:C++ ¿Memoria no inicializada?
template <class state>
class learnedStateData {
public:
learnedStateData() :gCost(DBL_MAX), hCost(0), isDead(false) {}
state theState;
double gCost;
double hCost;
bool isDead;
};
Esto se almacena en un hash_map STL. ¿Alguna idea sobre cómo podría obtener datos no inicializados (además del estado) de esta estructura de datos?
Déjenme aclarar: no quiero que mis valores no se inicialicen, pero a veces parecen ser aleatorios.
Además de theState ha inicializado correctamente cada miembro de su clase. Por lo tanto, no inicializar el Estado podría ser la fuente del problema. –
Si 'state' tiene un constructor predeterminado, se llama automáticamente, por lo que no es necesario llamarlo explícitamente. Sin embargo, si no hay un constructor predeterminado, esa es otra historia. –
* cómo podría obtener datos no inicializados (además del theState) * ... ¿Con esto a qué ** datos ** se refiere que no está inicializado? Además de 'theState', otros datos que se muestran en la' clase' parecen haberse inicializado correctamente ... – liaK