This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
enum destructor call difference between c++2011 and previous c++ version. is it a bug ?
- From: mickael guene <mickael dot guene at st dot com>
- To: <gcc-help at gcc dot gnu dot org>
- Date: Fri, 6 Apr 2012 13:08:32 +0200
- Subject: enum destructor call difference between c++2011 and previous c++ version. is it a bug ?
Hi all,
When compiling attach code with or without -std=c++0x option I notice that
-std=c++0x is more strict concerning enum destructor call.
I was wondering if it's a bug in compiler or a normal behaviour. I have
found no help from c++ standard.
I'm using gcc 4.6.3 and compile code with following command line:
g++ -std=gnu++0x foo.cpp -c => for c++2011
g++ foo.cpp -c
Mickael
enum E { A, B };
void foo()
{
E e = B;
e.~E(); // ok with and without -std=c++0x
e.E::~E(); // ok without -std=c++0x. Compilation error with -std=c++0x =>
// request for member â??E::~Eâ?? in â??eâ??, which is of non-class type â??Eâ??
}