19 Diagnostics library [diagnostics]

19.2 Exception classes [std.exceptions]

19.2.4 Class invalid_­argument [invalid.argument]

namespace std {
  class invalid_argument : public logic_error {
    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);
Ensures: strcmp(what(), what_­arg.c_­str()) == 0.
invalid_argument(const char* what_arg);
Ensures: strcmp(what(), what_­arg) == 0.