quirks

ブロック構文ローカルな変数宣言のへんなところ

int main(int, char**) { for (static int a = 3; --a;) {} // これは通る for (int a = 2; int b = --a; ) {} // キモすぎるがこれも通る if (bool b = true) {} // これも通る struct foo { foo(int) {} operator bool() { return false; } }; if (struct …