Christof Meerwald@freec++.prog | |||||
Switch Statement Conditionint 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 |