title: Does returning to another void function from a void function is legal in C++?
body: <p>The C standard <a href="https://stackoverflow.com/questions/22376051/recursive-c-void-function-and-return-keyword">prohibit</a> this. But I'm not sure what C++ standard says about this.</p>
  <pre><code>#include &lt;iostream&gt;
  
  void bar() {
      std::cout &lt;&lt; &quot;From Bar&quot; &lt;&lt; &quot;\n&quot;;
  }
  
  void foo() {
      std::cout &lt;&lt; &quot;From Foo&quot; &lt;&lt; &quot;\n&quot;;
      
      return bar();
  }
  
  int main()
  {
      foo();
      
      return 0;
  }
  </code></pre>
  <p>The program compiles and works just fine. I like the style of <code>return bar();</code> instead <code>bar(); return;</code></p>
  <p>Is this legal in C++11?</p>
  <p>The answer below mentions that it's legal on latest draft.</p>