| Christof Meerwald@freec++.prog | ||||
Switch Statement Condition
int Bc = 0, Bd = 0;
struct B
{
B(int i)
: i (i)
{ Bc++; }
operator int() { return i; }
~B() { Bd++; }
int i;
};
int main()
{
for (int i = 0; i < 2; i++)
{
switch (B b = i)
{
case 0:
if (b != 0) return 1;
if (Bc != (Bd + 1)) return 1;
break;
case 1:
if (b != 1) return 1;
if (Bc != (Bd + 1)) return 1;
break;
}
int b = 0;
if (! (Bc == (i + 1) && Bd == (i + 1))) return 1;
}
return 0;
}
| ||||
This Web page is licensed under the Creative Commons Attribution - NonCommercial - Share Alike License. Any use is subject to the Privacy Policy.
|
Revision: 1.2, cmeerw.org/prog/freecpp/switch_stmt_cond.html Last modified: Mon Sep 03 18:20:50 2018 |
Christof Meerwald <cmeerw@cmeerw.org> XMPP: cmeerw@cmeerw.org |