我应该包括bad_function_call异常

What should I include to throw bad_function_call exception?

本文关键字:call 异常 function 我应该 bad 包括      更新时间:2023-10-16

主题中的问题。我尝试了:

throw new std::bad_function_call("!");

有下一个错误:

错误c2039:'bad_function_call':不是'std'

的成员

错误c2061:语法错误:标识符'bad_function_call'

这是C 11中的新事物,来自标题<functional>。包括其中并祈祷您有一个足够新的编译器。

顺便说一句,您不应动态分配异常。是:

  • 毫无意义,
  • 对内存分配异常的风险,
  • 有可能使您的捕获站点比需要的更复杂。

存储器通常用于存储直接投掷的异常对象,因此请使用它。只需写:

throw std::bad_function_call("!");