title: Constructor without arguments doesn't work
body: <p>I wonder why the constructor doesn't work/get called in the first case.</p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;typeinfo&gt;
  
  class Test{
  public:
      Test(){ std::cout &lt;&lt; "1\n"; };
      Test(int){ std::cout &lt;&lt; "2\n"; };
  };
  
  
  int main()
  {
      Test a(); // actually doesn't call the constructor
      Test b(1); // "2"
      std::cout &lt;&lt; (typeid(b).name()) &lt;&lt; std::endl; // "4Test"
      std::cout &lt;&lt; (typeid(a).name()); // "F4TestvE"
      return 0;
  }
  </code></pre>
  
  <p>I've also found that typenames of created variables are strange. Can anybody explain such a behavior? </p>
  
  <hr>
  
  <p>I use mingw gcc 4.7.2 for Windows to compile my projects</p>
  
  <p>Thanks a lot.</p>