title: Why can't we initialize class members at their declaration?
body: <p>I wonder if there is a reason why we can't initialize members at their declaration.</p>
  
  <pre><code>class Foo
  {
      int Bar = 42; // this is invalid
  };
  </code></pre>
  
  <p>As an equivalent of using constructor initialization lists.</p>
  
  <pre><code>class Foo
  {
      int Bar;
  public:
      Foo() : Bar(42) {}
  }
  </code></pre>
  
  <p>My personal understanding is that the above example is much more expressive and intentional. Moreover this is a shorter syntax. And I don't see any possibility of confusion with other language elements.</p>
  
  <p>Is there any official clarification about this?</p>