title: uninitialized local variable with c++11 default
body: <p>Why does printing <code>b.k</code> give a warning when printing <code>a.k</code> does not? I Use VS2013</p>
  
  <pre><code>//warning C4700: uninitialized local variable 'b' used
  #include&lt;iostream&gt; 
  
  using namespace std;
  
  struct A {
    A() {};
    int k;
  };
  struct B {
    B() = default;
    int k;
  };
  
  int main() {
    A a;
    cout &lt;&lt; a.k &lt;&lt; endl;
    B b;
    cout &lt;&lt; b.k &lt;&lt; endl; // this gives a warning, uninitialized local variable
  
    return 0;
  }
  </code></pre>