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