9

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

void(*function_pointer)()noexcept;

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

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

4

1 回答 1

7

[除了.spec]/2:

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

因此,您的声明确实格式正确,并且 Clang对其进行了编译

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

于 2014-12-15T17:08:31.700 回答