Tenia mucho que no programaba en C++, y hablo de varios an~os. Ando haciendo un programita para aprender teoria de programacion de juegos y resulta que el ‘#)&$”&($”()( programa truena al momento de que se manda llamar el constructor de un objeto. Lo peor del caso es que este constructor se manda llamar muchas veces antes de la vez que truena, entonces, el codigo no esta mal. Falta de memoria acaso?
La estructura del programa es la siguiente:
Piece: Un objeto que simula una pieza en un rompecabezas.
Puzzle: Un rompecabezas completo. Tiene una propiedad table que es un arreglo bidemensional de Piece.
Node: Simplemente la implementacion de una lista ligada.
AStarSearch: El algoritmo de busqueda para la solucion del problema. Como podran deducir por el nombre, es el A*.
Por supuesto que uso apuntadores para todo, y he revisado el codigo una y otra y otra vez y la verdad no se por que no funciona. Al momento de querer agregar un elemento a una de las listas se crea un nuevo Puzzle, y por consecuencia varias Piece. Pero a la tercera Piece, el programa me manda Segmentation Fault. Ya estuve debugeando con gdb y no encuentro nada.
Como bien dijo Omar, sin duda C y C++ son mis lenguajes favoritos, pero odio este tipo de errores. Por supuesto que la probabilidad de que sea una idiotez mia es muy grande (de hecho ese debe ser el problema), pero odio pasar un dia entero viendo y viendo y viendo codigo que es mio, que por logica funciona y que nomas no hace lo que se supone debe hacer.
Me voy a casa a seguirle alla. Es viernes por la noche, y Emi esta ocupada con el dia deportivo de la preparatoria donde trabaja. Sera una noche larga y solitaria, y ya me duele la cabeza.