[bad.cast]

# 17 Language support library [[support]](./#support)

## 17.7 Type identification [[support.rtti]](support.rtti#bad.cast)

### 17.7.4 Class bad_cast [bad.cast]

[ð](#lib:bad_cast)

namespace std {class bad_cast : public exception {public:// see [[exception]](exception "17.9.3 Class exception") for the specification of the special member functionsconstexpr const char* what() const noexcept override; };}

[1](#1)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L3401)

The classbad_cast defines the type of objects thrown
as exceptions by the implementation to report the execution of an invaliddynamic_cast expression ([[expr.dynamic.cast]](expr.dynamic.cast "7.6.1.7 Dynamic cast"))[.](#1.sentence-1)

[ð](#lib:what,bad_cast)

`constexpr const char* what() const noexcept override;
`

[2](#2)

[#](http://github.com/Eelis/draft/tree/9adde4bc1c62ec234483e63ea3b70a59724c745a/source/support.tex#L3416)

*Returns*: An implementation-defined ntbs[.](#2.sentence-1)
