如何创建 noexcept 函数指针

How do I create a noexcept function pointer?

本文关键字:noexcept 函数 指针 创建 何创建      更新时间:2023-10-16

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

void(*function_pointer)()noexcept;

但是,这行不通。函数声明中的异常说明符似乎无效。不过,必须有一种方法可以做到这一点。右?

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

[except.spec]/2:

异常规范应仅出现在函数声明符上 对于函数类型,指向函数类型的指针,对函数的引用 类型,或指向顶级类型的成员函数类型的指针 声明或定义,或在此类类型上显示为 函数声明符中的参数或返回类型。

所以你的声明确实格式很好,Clang编译了它。

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