Return value from local scope?

后端 未结 6 1040
终归单人心
终归单人心 2021-01-05 11:06

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         


        
6条回答
  •  粉色の甜心
    2021-01-05 11:23

    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;
    }
    

提交回复
热议问题