基于此
顺便说一句,只要目标的异常规范不比源的限制更严格,您就可以对函数的指针进行这种分配
class A{};
class B{};
class C{};
void f() throw(A,B,C) {}
void (*pf)() throw(A,B);
int main()
{
pf = f; // pf is more restrictive than that of f. I expect an error here!
}
最后一条语句不应通过编译器。不过,我试过VS2010和GCC最新版本。他们都没有抱怨。
问题> 为什么?