From: Martin Krischik <krischik@users.sourceforge.net>
Subject: Re: "Must instantiate controlled types at library level." Why?
Date: Wed, 12 May 2004 13:55:08 +0200
Date: 2004-05-12T13:55:08+02:00 [thread overview]
Message-ID: <13392802.3gDeTK7ybb@linux1.krischik.com> (raw)
In-Reply-To: Xns94E7453EA8pchapinsovernet@207.106.92.237
Peter C. Chapin wrote:
> Jeffrey Carter <spam@spam.com> wrote in news:NJeoc.16758$V97.5496
> @newsread1.news.pas.earthlink.net:
>
>> The call to Library_Level.Op would attempt to dispatch to
>> Outer.Inner.Op, which is out of scope. The references to I in
>> Outer.Inner.Op refer to a variable that no longer exists.
>
> Thank you for your detailed post. It was very helpful. I haven't yet
> gotten around to studying Ada's object oriented features in detail but I
> can see that the issue is related to the fact that Ada allows procedures
> to be defined inside other procedures.
>
> Just for fun I attached an equivalent C++ program below. Interestingly, it
> seems to compile and work using three different C++ compilers. I wonder
> its behavior is technically "undefined". It seems like it probably should
> be. Perhaps I'll ask on the C++ group.
It is not quite complete:
> -----> cut <-----
> #include <iostream>
>
> class X {
> public:
> virtual void f();
> };
>
> void X::f()
> {
> std::cout << "I'm in X::f\n";
> }
>
> X *ptr;
>
> void helper()
> {
auto int Z := 5;
> class Y : public X {
> public:
> virtual void f() {
> std::cout << "I'm in Y::f\n";
std::cout << "and Z is " << Z << std:endl;
> }
> };
>
> ptr = new Y;
> }
>
> int main()
> {
> helper();
> ptr->f();
> return 0;
> }
But you can reduce the probem to a 5 liner:
int&
Very_Silly ()
{
auto int Short_Lived = 5;
return Short_Lived;
}
A good compiler will warn you. But it does compile.
With Regards
Martin
--
mailto://krischik@users.sourceforge.net
http://www.ada.krischik.com
next prev parent reply other threads:[~2004-05-12 11:55 UTC|newest]
Thread overview: 59+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-05-11 23:04 "Must instantiate controlled types at library level." Why? Peter C. Chapin
2004-05-12 1:03 ` Jeffrey Carter
2004-05-12 10:47 ` Peter C. Chapin
2004-05-12 11:25 ` Ludovic Brenta
2004-05-12 14:41 ` Martin Krischik
2004-05-13 2:20 ` Peter C. Chapin
2004-05-12 11:55 ` Martin Krischik [this message]
2004-05-13 2:59 ` Peter C. Chapin
2004-05-13 7:10 ` Martin Krischik
2004-05-13 10:36 ` Peter C. Chapin
2004-05-13 11:18 ` Martin Krischik
2004-05-13 22:27 ` Peter C. Chapin
2004-05-13 22:54 ` Freejack
2004-05-14 7:13 ` Martin Krischik
2004-05-14 13:50 ` Xenos
2004-05-14 17:27 ` Georg Bauhaus
2004-05-14 17:58 ` Xenos
2004-05-14 18:49 ` Martin Krischik
2004-05-14 19:40 ` Xenos
2004-05-14 22:47 ` Ludovic Brenta
2004-05-15 8:34 ` Martin Krischik
2004-05-16 2:55 ` Hyman Rosen
2004-05-16 13:48 ` Ludovic Brenta
2004-05-17 2:30 ` Hyman Rosen
2004-05-17 5:39 ` Martin Dowie
2004-05-17 7:48 ` Ludovic Brenta
2004-05-17 15:01 ` Hyman Rosen
2004-05-17 16:31 ` Georg Bauhaus
2004-05-17 17:40 ` Hyman Rosen
2004-05-17 19:17 ` Georg Bauhaus
2004-05-17 6:24 ` Martin Krischik
2004-05-17 19:48 ` James Kanze
2004-05-18 6:27 ` Martin Krischik
2004-05-17 12:33 ` Dmitry A. Kazakov
2004-05-17 13:46 ` Martin Krischik
2004-05-17 15:03 ` Dmitry A. Kazakov
2004-05-17 16:02 ` Alexander E. Kopilovich
2004-05-18 7:48 ` Dmitry A. Kazakov
2004-05-19 1:20 ` Alexander E. Kopilovich
2004-05-19 9:59 ` Dmitry A. Kazakov
2004-05-19 12:38 ` Hyman Rosen
2004-05-19 13:28 ` Dmitry A. Kazakov
2004-05-19 13:09 ` Georg Bauhaus
2004-05-19 13:44 ` Hyman Rosen
2004-05-19 14:17 ` Dmitry A. Kazakov
2004-05-19 14:15 ` Dmitry A. Kazakov
2004-05-21 11:39 ` Georg Bauhaus
2004-05-21 20:33 ` Dmitry A. Kazakov
[not found] ` <c8mkor$rlq$1@a1-hrz.uni-duisburg.de>
2004-05-23 1:28 ` Hyman Rosen
2004-05-23 8:55 ` Dmitry A. Kazakov
2004-05-24 11:38 ` Georg Bauhaus
2004-05-24 13:57 ` Dmitry A. Kazakov
2004-05-24 14:40 ` Georg Bauhaus
2004-05-25 8:32 ` Dmitry A. Kazakov
2004-05-25 15:47 ` Georg Bauhaus
[not found] ` <URJ8Eg0vzF@VB1162.spb.edu>
2004-05-17 16:50 ` Marius Amado Alves
2004-05-18 8:27 ` Dmitry A. Kazakov
2004-05-15 17:20 ` Pascal Obry
2004-05-13 19:33 ` Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox