Bumped into some code like this in our code base... which made me worried.
int foo(int a); // Forward declaration. int baz() { int result = { i
With C++11 you can get pretty close:
int foo(int a); // Forward declaration. int baz() { int result = []{ int a = dosomestuff(); return foo(a); }() ? 0 : -1; return result; }