From: Mart van de Wege <mvdwege@gmail.com>
Subject: Can't access record attribute in derived type
Date: Wed, 08 Mar 2017 15:15:05 +0100
Date: 2017-03-08T15:15:05+01:00 [thread overview]
Message-ID: <86mvcv4zyu.fsf@gaheris.avalon.lan> (raw)
Hi,
I have the following definitions
private
type Creature is new Base_Creature with record
Attributes : Attribute_Array;
Gender : Possible_Gender := Unknown;
Current_Hit_Points : Integer;
Parents : Group_Of_Creatures.List;
-- An instance of Ada.Containers.Indefinite_Doubly_Linked_Lists
end record;
In child package #1 (Persons):
private
type Person is new Creature with record
[...]
and in child package #2 (Knights):
type Knight is new Person with record
[...]
I try to read the first element of the Parents attribute in knights.adb
like this:
function Father (K : in Knight) return Knight is
begin
return K.Parents.First_Element;
end Father;
And the compiler complains:
"no selector "Parents" for type "Knight" defined"
What am I missing here? The declarations are private, but shouldn't a
tagged type inherit the entire record of its parent type? That means
that it should have a Parents selector, shouldn't it?
Mart
--
"We will need a longer wall when the revolution comes."
--- AJS, quoting an uncertain source.
next reply other threads:[~2017-03-08 14:15 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-03-08 14:15 Mart van de Wege [this message]
2017-03-08 14:24 ` Can't access record attribute in derived type G.B.
2017-03-08 15:06 ` Mart van de Wege
2017-03-08 19:30 ` Niklas Holsti
2017-03-08 21:05 ` Mart van de Wege
2017-03-08 20:08 ` Randy Brukardt
2017-03-08 21:06 ` Mart van de Wege
2017-03-08 21:12 ` Mart van de Wege
2017-03-08 21:25 ` Mart van de Wege
2017-03-08 21:50 ` Simon Wright
2017-03-08 22:35 ` Mart van de Wege
2017-03-08 21:03 ` Shark8
2017-03-08 21:16 ` Mart van de Wege
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox