title: Calling a constructor in class declaration
body: <p>The question title might not be perfectly clear.</p>
  <p>From c++11 on it is possible to declare and initialize class members like <code>int something = 42;</code> in the code below.</p>
  <p>On the other hand it's not possible to call a constructor like <code>Foo foo(2)</code> in the example below.</p>
  <pre><code>class Foo
  {
    int something = 42;
    int value;
  public:
    Foo(int ivalue) { value = ivalue; }  // do stuff with value
  };
  
  class Bar
  {
    Foo foo(2);        // &lt;&lt;&lt; does not compile
    int thisisok = 2;  // this is OK
  public:
    // ...
  };
  
  class BarOK
  {
    Foo foo;
  
  public:
    BarOK() : foo(2)  // OK
    { }
  };
  </code></pre>
  <p>Is there any reason why this is would not be possible (maybe in future c++ standards)?</p>
  <p>Or is the case I present here too simplistic.</p>