⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 900514_03.c

📁 this is a gcc file, you can download it and learn its usetility, for further detail please look at t
💻 C
字号:
// g++ 1.37.1 bug 900514_03// g++ fails to flag ERRORs on the following erroneous code.// In Section 12.3.2 it says "Defining conversion by both a constructor and// a conversion function can lead to ambiguities."  However in the case below,// the explicit cast syntax disambiguates the constructor as one which// invokes the type conversion operator rather than the conversion.// NO, IT DOESN'T.  It's still ambiguous.  --jason 2002-12-03// cfront 2.0 passes this test.// keywords: user-defined type conversion operator, constructorstruct t_0_st_0;struct t_0_st_1 {  int member;  t_0_st_1 (t_0_st_0&);// ERROR -   t_0_st_1 ();};struct t_0_st_0 {  int member;  operator t_0_st_1 ();// ERROR - };t_0_st_0 t_0_st_0_obj0;void t_0_assignment (){  t_0_st_1 t_0_st_1_obj0;  t_0_st_1 t_0_st_1_obj1;  t_0_st_1 t_0_st_1_obj2;  t_0_st_1_obj0 = t_0_st_0_obj0;			// ERROR - caught  t_0_st_1_obj1 = t_0_st_1 (t_0_st_0_obj0);}void t_0_local_init (){  t_0_st_1 t_0_st_1_obj0 = t_0_st_0_obj0;		// ERROR -   t_0_st_1 t_0_st_1_obj1 = t_0_st_1 (t_0_st_0_obj0);}struct t_1_st_0;struct t_1_st_1 {  int member;  t_1_st_1 (t_1_st_0&);					// ERROR -   t_1_st_1 ();  void operator= (t_1_st_1&);				// ERROR - };struct t_1_st_0 {  int member;  operator t_1_st_1 ();					// ERROR - };t_1_st_0 t_1_st_0_obj0;void t_1_assignment (){  t_1_st_1 t_1_st_1_obj0;  t_1_st_1 t_1_st_1_obj1;  t_1_st_1 t_1_st_1_obj2;  t_1_st_1_obj0 = t_1_st_0_obj0;			// ERROR -   t_1_st_1_obj1 = t_1_st_1 (t_1_st_0_obj0);		// ERROR - }void t_1_local_init (){  t_1_st_1 t_1_st_1_obj0 = t_1_st_0_obj0;		// ERROR -   t_1_st_1 t_1_st_1_obj1 = t_1_st_1 (t_1_st_0_obj0);}struct t_2_st_0;struct t_2_st_1 {  int member;  t_2_st_1 (t_2_st_0);		// ERROR - candidate  t_2_st_1 ();};struct t_2_st_0 {  int member;  operator t_2_st_1 ();		// ERROR - candidate};t_2_st_0 t_2_st_0_obj0;void t_2_assignment (){  t_2_st_1 t_2_st_1_obj0;  t_2_st_1 t_2_st_1_obj1;  t_2_st_1 t_2_st_1_obj2;  t_2_st_1_obj0 = t_2_st_0_obj0;			// ERROR - caught  t_2_st_1_obj1 = t_2_st_1 (t_2_st_0_obj0);}void t_2_local_init (){  t_2_st_1 t_2_st_1_obj0 = t_2_st_0_obj0;		// ERROR -   t_2_st_1 t_2_st_1_obj1 = t_2_st_1 (t_2_st_0_obj0);}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -