In article , Harald Schmidt wrote: > Hi, > > I want to declare two function, but the 2nd is not > allowed by GNAT3.12. Could someone tell me why? > Here are the two declarations: > > package bla is > type Object is tagged limited private; > function "=" (Left, Right: in Object�Class) return Boolean; > function "==" (Left, Right: in Object�Class) return Boolean; > private > type Object is tagged limited null record; > end bla; A function declaration with the function designator (name) in quotation marks (such as "=") defines an operator. The set of operator symbols is fixed in Ada. While you can define operators for your types, as you did with "=", you cannot create new operator symbols, as you tried to do with "==". See ARM 4.5, 6.1, and 6.6. -- Jeff Carter "Now go away or I shall taunt you a second time." -- Monty Python and the Holy Grail Sent via Deja.com http://www.deja.com/ Before you buy.