title: (C++) error: 'invalid_argument' was not declared in this scope
body: <p>I am using Eclipse C/C++ with the MinGW compiler. I have added the flag -std=c++11 to the Miscellaneous GCC C Compiler Settings under C/C++ Build in the project properties. I know its probably a simple thing, but I cannot resolve this error.</p>
  
  <p><strong>Date.h</strong></p>
  
  <pre><code>#include &lt;iostream&gt;
  using namespace std;
  
  class Date {
  public:
      Date(int m = 1, int d = 1, int y = 1900);
      void setDate(int, int, int);
  private:
      int month;
      int day;
      int year;
  
      static const int days[];
  };
  </code></pre>
  
  <p><strong>Date.cpp</strong></p>
  
  <pre><code>#include &lt;iostream&gt;
  #include &lt;string&gt;
  #include "Date.h"
  using namespace std;
  
  const int Date::days[] = {
      0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31
  };
  
  Date::Date(int month, int day, int year){
      setDate(month, day, year);
  }
  
  void Date::setDate(int month, int day, int year){
      if (month &gt;= 1 &amp;&amp; month &lt;= 12){
          this-&gt;month = month;
      } else {
          // error
          invalid_argument("month must be within the range [0, 12]");
      }
      ...
  }
  </code></pre>
  
  <p><strong>Compiler message:</strong></p>
  
  <pre><code>..\Date.cpp: In member function 'void Date::setDate(int, int, int)':
  ..\Date.cpp:25:60: error: 'invalid_argument' was not declared in this scope
     invalid_argument("month must be within the range [0, 12]");
  </code></pre>