ice990323-2.c
来自「gcc-you can use this code to learn somet」· C语言 代码 · 共 88 行
C
88 行
// check EH with templatesextern "C" void abort ();extern "C" void exit (int);template <class T, int n, class U> struct A { A() {} A(char*) {}};void f1(){ throw *(new A<double, 47, A<int, 37, short> >);}void f2(){ throw *(new A<double, 47, A<int, 36, short> >);}void f3(){ throw A<double, 47, A<int, 37, short> > ("howdy");}void f4(){ throw A<double, 47, A<int, 36, short> > ("hi michey");}int main(){ int flag; flag = 0; try { f1(); } catch (A<double, 47, A<int, 36, short> >) { abort(); } catch (A<double, 47, A<int, 37, short> >) { flag = 1; } if (!flag) abort(); flag = 0; try { f2(); } catch (A<double, 47, A<int, 36, short&> >) { abort(); } catch (A<double, 47, A<int, 36, short> >) { flag = 1; } if (!flag) abort(); flag = 0; try { f3(); } catch (A<double, 47, A<int, 36, short> >) { abort(); } catch (A<double, 47, A<int, 37, short> >) { flag = 1; } if (!flag) abort(); flag = 0; try { f4(); } catch (A<double, 47, A<int, 36, short&> >) { abort(); } catch (A<double, 47, A<int, 36, short> >) { flag = 1; } if (!flag) abort(); exit(0);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?