21 Language support library [language.support]

21.7 Type identification [support.rtti]

21.7.4 Class bad_­typeid [bad.typeid]

namespace std {
  class bad_typeid : public exception {
  public:
    bad_typeid() noexcept;
    bad_typeid(const bad_typeid&) noexcept;
    bad_typeid& operator=(const bad_typeid&) noexcept;
    const char* what() const noexcept override;
  };
}

Класс bad_­typeid определяет тип объектов, создаваемых реализацией как исключения для сообщения о нулевом указателе в typeid выражении ([expr.typeid]).

bad_typeid() noexcept;

Effects: Создает объект класса bad_­typeid.

bad_typeid(const bad_typeid&) noexcept; bad_typeid& operator=(const bad_typeid&) noexcept;

Effects: Копирует объект класса bad_­typeid.

const char* what() const noexcept override;

Returns: An реализации определенных НТБ .

Remarks: Сообщение может быть форматом null-terminated multibyte string, подходящим для преобразования и отображенным как wstring ([string.classes], [locale.codecvt])