我收到以下代码,出现“错误:异常规范只允许在一个间接级别之外进行”。请向我指出不允许使用的标准部分。我想确保语言确实需要它,或者只是编译器特定的错误。如果来自语言规范,是什么促使该规则产生的?我正在使用clang 3.8.0。

  int main()
    {
        void (**fp)() throw() ;
    }

最佳答案

你说:




void (**fp)() throw() ;

您正在尝试在指向函数指针的指针的声明中指定异常规范。该标准不允许这样做。异常规范仅适用于有限的一组声明。

https://timsong-cpp.github.io/cppwp/n3337/except.spec#2(重点是我):



您询问:



我没有答案。

关于C++,函数指针异常错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44377375/

10-11 23:11
查看更多