title: Why does not the "Warning C4172 returning address of local variable or temporary" error occur?
body: <p>this code, returning a local pointer variable.</p>
  
  <p>But, Why does not the "Warning C4172 returning address of local variable or temporary" error occur?</p>
  
  <p>The compiler does not output any errors.</p>
  
  <pre><code>#include&lt;stdio.h&gt;
  
  static const char *test(void){
      const char *a = NULL;
      char b[64] = {0,};
      a = b;
      return a;
  
  }
  
  int main() {
     const char *a;
     a = test();
  }
  </code></pre>