Need <stdexcept> for std::invalid_argument