namespace std {
  class invalid_argument : public logic_error {
  public:
    explicit invalid_argument(const string& what_arg);
    explicit invalid_argument(const char* what_arg);
  };
}The class
invalid_argument
defines the type of objects thrown as exceptions to report an invalid argument
.invalid_argument(const string& what_arg);
Effects:
Constructs an object of class
invalid_argument. Postconditions:
strcmp(what(), what_arg.c_str()) == 0. invalid_argument(const char* what_arg);
Effects:
Constructs an object of class
invalid_argument. Postconditions:
strcmp(what(), what_arg) == 0.