Topic: Scope for enumeration


Author: Meang Akira Tanaka <meang@post.com>
Date: Sat, 18 Dec 2004 11:53:12 CST
Raw View
Hi

I would like to suggest either following alteration for enumeration or
maybe a new keyword, which can take following advantage.

As I understand it today, one cannot define more than same enumeration
within the same class. e.g.

class SomeClass
{
 enum SomeEnum
 {
  success = 0
 };

 enum SomeEnum2
 {
  success = 0
 };


 SomeEnum function1();

 SomeEnum2 function2();

}

The problem here is that succes has already defined in SomeEnum, and
therefore it cannot be redefined in SomeEnum2. As I see it SomeEnum
and SomeEnum2 should be two different namespaces, and therefore it
should be possible to define both.

The name resolving should be the same way as C++ is resolving names
for classes. i.e. if there the symbol is only defined once it can be
resolved with qualifying it. If the symbol is ambiguite, then the
symbol have to be qualified e.g. in this case SomeEnum::success and
SomeEnum2::sucess.

There is a workaround by defining each in their own class, but it
doesn't seem to be the most optimal way to do this.

Another great thing could be to extend an enumeration

---
[ comp.std.c++ is moderated.  To submit articles, try just posting with ]
[ your news-reader.  If that fails, use mailto:std-c++@ncar.ucar.edu    ]
[              --- Please see the FAQ before posting. ---               ]
[ FAQ: http://www.jamesd.demon.co.uk/csc/faq.html                       ]