Topic: Template names


Author: teuben@lynx.astro.umd.edu (Peter Teuben)
Date: 16 Dec 92 21:23:05 GMT
Raw View
If one defines a template as e.g.

  template <class T> class star {
 ...
  };

and also define a real class with that same 'template' name, i.e.

  class star {
        ...
  };

the Borland C++ compiler (3.0) complains. Can anybody confirm if this
is a Borland bug?

 Peter
--
Peter J. Teuben         |  INTERNET  : teuben@astro.umd.edu
Astronomy Department    |  FAX:        (301) 314-9067
University of Maryland  |  MA-BELL   : (301) 405-1540 (office)
College Park, MD 20742  |              (301) 405-1502 (secr.)




Author: pete@borland.com (Pete Becker)
Date: 17 Dec 92 17:25:10 GMT
Raw View
In article <TEUBEN.92Dec16162305@lynx.astro.umd.edu> teuben@lynx.astro.umd.edu (Peter Teuben) writes:
>
>If one defines a template as e.g.
>
>  template <class T> class star {
> ...
>  };
>
>and also define a real class with that same 'template' name, i.e.
>
>  class star {
>        ...
>  };
>
>the Borland C++ compiler (3.0) complains. Can anybody confirm if this
>is a Borland bug?

 I hope not, since it isn't a bug.  ARM, section 14.2:

 A class template name must be unique in a program and may not
 be declared to refer to any other template, class, function,
 object, value, or type in the same scope.

 -- Pete