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 + -
显示快捷键?