Fri, 3 Jun 2005 12:20:36 -0700
|
The problem is that I rarely use discriminants. It just seems silly to
me that given that there are initializers on the type definition below,
the compiler can deduce what the other value is for MR2 and MR3. Now if
I didn't have initializers then that be a whole different matter.
C.
Roger Racine wrote:
>3.7.1(8) says "A discriminant_constraint shall provide exactly one value
>for each discriminant of the subtype being constrained." While one
>might think that one is constraining a discriminant, and thus only need
>to put in the subset of discriminants you want to constrain, the subtype
>is what is being constrained, and yours has 2 discriminants, both of
>which need values. That has been there since Ada 83.
>
>Roger Racine
>
>On Fri, 2005-06-03 at 12:24, Chris Sparks wrote:
>
>
>>Hello experts!
>>
>>I thought I understood discriminants, however, when I tried to assign to
>>MR2 and MR3 below, the compiler barked at me...
>>
>>----------------------------------------------------
>> type My_Record (Item : Integer := 1;
>> Data : Integer := 2) is record
>> Stuff : Integer := Item * Data;
>> end record;
>>
>> MR1 : My_Record;
>>--MR2 : My_Record (Data => 3);
>>--MR3 : My_Record (Item => 3);
>> MR4 : My_Record (Item => 10, Data => 11);
>>----------------------------------------------------
>>
>>Can someone enlighten me on this?
>>
>>Chris Sparks
>>
>>
>
>
>
>
|
|
|