This is the mail archive of the gcc-help@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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â??
}

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]