【问题标题】:How do I create a noexcept function pointer?如何创建 noexcept 函数指针?
【发布时间】:2015-02-13 20:00:04
【问题描述】:

我想创建一个这样的函数指针:

void(*function_pointer)()noexcept;

但是,这不起作用。函数声明中的异常说明符似乎无效。不过,必须有办法做到这一点。 对吗?

这与一个与此不同的问题相关联。在这里,我要问如何使用 noexcept 说明符创建函数指针。在“函数类型定义中的 noexcept 说明符”问题中没有提出或回答。

【问题讨论】:

  • 在什么方面不起作用?编译错误?哪个编译器?什么错误?
  • goo.gl/N9wyLv - 似乎按预期工作。

标签: c++ c++11 function-pointers noexcept


【解决方案1】:

[except.spec]/2:

异常规范只能出现在函数声明符上 对于函数类型,指向函数类型的指针,对函数的引用 类型,或指向成员函数类型的指针,它是 声明或定义,或在这样的类型上出现 函数声明器中的参数或返回类型。

所以你的声明确实格式正确,Clang compiles it

大概你的编译器不是最新的。

【讨论】:

    猜你喜欢
    • 2015-02-13
    • 2016-06-03
    • 2023-03-12
    • 1970-01-01
    • 2020-04-02
    • 2021-07-02
    • 1970-01-01
    • 1970-01-01
    • 2023-03-22
    相关资源
    最近更新 更多