C++ 异常库 - bad_cast



描述

这是在动态转换失败时抛出的异常。

声明

以下是 std::bad_cast 的声明。

class bad_cast;

C++11

class bad_cast;

参数

返回值

异常

无异常保证 - 没有成员抛出异常。

示例

以下为 std::bad_cast 的示例。

#include <iostream>
#include <typeinfo>
 
struct Foo { virtual ~Foo() {} };
struct Bar { virtual ~Bar() {} };
 
int main() {
   Bar b;
   try {
      Foo& f = dynamic_cast<Foo&&gt;(b);
   } catch(const std::bad_cast& e) {
      std::cout << e.what() << '\n';
   }
}

示例输出如下:

std::bad_cast
exception.htm
广告