C++ Builder

Moderators: Lundin
Number of threads: 518
Number of posts: 1158

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