Okay, so kann es nicht , dass seltsam, aber ich bin wirklich neu in Ada. In meinem Job übersetze ich Legacy-Ada in C und bin auf etwas gestoßen, das ich noch nicht gesehen habe. Ich suchte herum, konnte es aber nicht wirklich finden; hier ist es.Seltsames Paar Typ Deklarationen
type Discrete_Names is (ENUM_POS_4, --label names in an enum
ENUM_POS_5, --that evaluate to 4, 5, and 6
ENUM_POS_6); --respectively
type Discrete_Array_Type is Array (Discrete_Names) of Discrete.Does_Not_Matter
Exkurs-the Discrete.Does_Not_Matter verweist nur eine andere Art in einer anderen Bibliothek.
Es wäre toll, wenn mir jemand helfen könnte, mich zu orientieren und herauszufinden, was hier vor sich geht.
Der Aufzählungstyp ist der Indextyp für das Array - so einfach. Sie können das Array mit 'for i in Discrete_Names loop ... my_array (i): = ...' durchlaufen und Sie können nichts außerhalb des Arrays indizieren. Oh, und es ist Ada, nicht ADA. –
Bitte erwähnen Sie auch, wenn [* Enumeration Representation Clauses *] (http://www.ada-auth.org/standards/12rm/html/RM-13-4.html) in der Nähe lauern. – trashgod
Danke, genau das passiert hier. Es gibt keine Aufzählungsrepräsentationsklauseln in der Nähe oder irgendwelche in diesem Modul überhaupt. –