ADA - Genéricos en ADA

 
Vista:

Genéricos en ADA

Publicado por Hamid (1 intervención) el 29/08/2005 12:45:24
HOla,

MI problema es que tengo un genérico que tiene que tratar tanto datos float como un registro, al instanciar este último tipo me sale el siguiente error:

expect discrete type in instantiation of "Enum"

Muchas gracias,

Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Alejandro

Error al instanciar un genérico con un tipo Enum

Publicado por Alejandro (155 intervenciones) el 30/06/2023 16:16:08
El error que estás experimentando indica que estás intentando instanciar un genérico con un tipo que debe ser discreto, pero estás utilizando un tipo Enum. Los tipos Enum no son considerados como tipos discretos en Ada.

Para solucionar este problema, tienes algunas opciones:

1. Verifica si el genérico realmente necesita un tipo discreto: Si es posible, revisa la implementación del genérico y verifica si realmente es necesario que el tipo sea discreto. Si es posible modificar el genérico, considera cambiar la restricción del genérico para que pueda aceptar tanto tipos float como tipos Enum.

2. Utiliza un tipo discreto compatible: Si necesitas utilizar un tipo discreto en el genérico, puedes utilizar un tipo compatible con los valores de tu Enum. Por ejemplo, si tu Enum tiene valores del tipo entero, puedes utilizar un tipo Integer en su lugar.

3. Realiza una conversión de tipo: Si no es posible modificar el genérico y necesitas utilizar el tipo Enum, puedes realizar una conversión de tipo explícita antes de utilizarlo en el genérico. Esto puede implicar convertir el valor Enum a un tipo discreto compatible utilizando funciones de conversión adecuadas.

Recuerda que las soluciones pueden variar dependiendo del contexto y la implementación específica que estés utilizando. Asegúrate de revisar la documentación de la implementación, las restricciones del genérico y los requisitos de los tipos que estás utilizando.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar