C++ Builder

Moderators: Lundin
Number of threads: 509
Number of posts: 1146

This Forum Only
Post New Thread
Single Post View       Linear View       Threaded View      f

Report
Assigning to enum variables Posted by HisNerdship on 4 Jan 2013 at 10:45 PM
I have recently upgraded from Builder 6 to XE2, and have been stumped by the following:

enum eNumber { one, two, three };
...
eNumber num = one;
...
num |= three; // E2277


E2277 says 'Lvalue required'. Well the enum variable num is a valid Lvalue. It is OK to assign to it with a simple assigment operator, e.g: num = 2;
But one cannot use the 'combined' operators like |= or &=.
I even ticked the project option C++ Compiler --> Integer-typed enums, so that it would be treated line an int, but still got the same error.
I don't know if XE2 is fully C11 conformant, but I can't see anything in C11 that forbids using this syntax.
Any ideas much appreciated.
Report
Re: Assigning to enum variables Posted by HisNerdship on 4 Jan 2013 at 11:27 PM
Sorry this post appeared twice. I never got any feedback when I clicked the 'Post' button, so clicked it again. Webmaster - PLEASE NOTE!
Also there was a typo in there:
...simple assigment operator, e.g: num = 2;
Of course I meant num = two;



 

Recent Jobs

Official Programmer's Heaven Blogs
Web Hosting | Browser and Social Games | Gadgets

Popular resources on Programmersheaven.com
Assembly | Basic | C | C# | C++ | Delphi | Flash | Java | JavaScript | Pascal | Perl | PHP | Python | Ruby | Visual Basic
© Copyright 2011 Programmersheaven.com - All rights reserved.
Reproduction in whole or in part, in any form or medium without express written permission is prohibited.
Violators of this policy may be subject to legal action. Please read our Terms Of Use and Privacy Statement for more information.
Operated by CommunityHeaven, a BootstrapLabs company.