900121_02.c

来自「Mac OS X 10.4.9 for x86 Source Code gcc」· C语言 代码 · 共 51 行

C
51
字号
// { dg-do assemble  }// g++ 1.36.1 bug 900121_02// Assignment of structs is defined as memberwise assignment,// however g++ (1.36.2) and Cfront 2.0 differ on the definition// of assignment for unions.// (NOTE: Stroustrup now says that assignment of unions which contain either// members or sub-members (base classes are not allowed for unions) which// have non-default assignment operators defined for them will be illegal// in future.)// g++ (1.36.2) on the other hand, accepts this program without errors.// keywords: unions, operator=, inheritance, membersstruct s0 {  int i;  void operator= (s0 & arg)  {    this->i = arg.i;  }};struct s1 {  double d;  void operator= (s1 & arg)  {    this->d = arg.d;  }};union u0 {  s0 u0_member_0;		// { dg-error "" }   s1 u0_member_1;		// { dg-error "" } };void function (){  u0 u0_object_0;  u0 u0_object_1;  u0_object_0 = u0_object_1;}int main () { return 0; }

⌨️ 快捷键说明

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