title: How to convert warning C4715 to error ... just for a particuar type
body: <p>Follow up question to
  <a href="https://stackoverflow.com/questions/25206180/how-to-convert-warning-c4715-to-error">How to convert warning C4715 to error</a></p>
  <p>How do you turn the compiler warning C4715 to an error, just for a particular type?</p>
  <pre><code>struct lax 
  {
      int i;
      lax() : i(0) {}
  };
  struct fastidious 
  {
      int i;
      fastidious() : i(0) {}
  };
  
  lax getLax() 
  {
      if (false) return lax();
  } 
  fastidious getFastidious()
  { 
      if (false) return getFastidious();
  } 
  
  int main() 
  {
      lax myLax = getLax(); // I am fine with this being a warning.
      fastidious myFastidious = getFastidious(); // I want a compiler error here.
  
      return 0;
  }
  </code></pre>
  <p>Ideally there is an specifier I can apply to the type <code>fastidious</code> that would do the job.</p>
  <p>In this particular example, I could use the <code>#pragma warning (default: 4715)</code> after the definition of <code>getFastidious()</code>.</p>
  <pre><code>#pragma warning (error : 4715)
  fastidious getFastidious()
  { 
      if (false) return getFastidious();
  }
  #pragma warning (default : 4715)
  </code></pre>
  <p>However, I would like something that I can define on <code>struct fastidious</code>, that would apply to all functions that return the type.</p>