comp.lang.ada
 help / color / mirror / Atom feed
From: "Peter C. Chapin" <pchapin@sover.net>
Subject: Re: "Must instantiate controlled types at library level." Why?
Date: Thu, 13 May 2004 02:59:02 GMT
Date: 2004-05-13T02:59:02+00:00	[thread overview]
Message-ID: <Xns94E7E9D157B38pchapinsovernet@207.106.92.237> (raw)
In-Reply-To: 13392802.3gDeTK7ybb@linux1.krischik.com

Martin Krischik <krischik@users.sourceforge.net> wrote in 
news:13392802.3gDeTK7ybb@linux1.krischik.com:

> 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;
>> }

Actually I tried this modification. In fact, the three C++ compilers I 
used *do* produce a compile time error on this code. In particular the use 
of an auto variable in the member function of a local class is 
specifically illegal. The relevant language from the C++ standard is in 
section section 9.8, paragraph 1: "Declarations in a local class can use 
only type names, static variables, extern variables and functions, and 
enumerators from the enclosing scope." The standard then goes on to give 
an example showing that the use of an auto variable is illegal.

So it appears that contrary to my earlier assumption, C++ does in fact try 
to do something sensible with this construction.

Peter



  reply	other threads:[~2004-05-13  2:59 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
2004-05-13  2:59       ` Peter C. Chapin [this message]
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