15-10-2015, 12:30 PM
Rule 10.3 covers assignment (as defined in the glossary) and the conversion of the constant expression in case labels.
Exception 1 says "A non-negative integer constant expression of essentially signed type may be assigned to an object of essentially unsigned type if its value can be represented in that type."
Is this exception intended to be restricted to assignment; or does it also apply to case labels?
Exception 1 says "A non-negative integer constant expression of essentially signed type may be assigned to an object of essentially unsigned type if its value can be represented in that type."
Is this exception intended to be restricted to assignment; or does it also apply to case labels?
Code:
switch (u8a) // controlling expression is essentially unsigned
{
case 1: break; // '1' is essentially signed; 10.3 violation?
case 2: break;
default: break;
}
<t></t>