900519_02.c

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

C
34
字号
// { dg-do assemble  }// g++ 1.37.1 bug 900519_02// The C++ Reference Manual says (in section 8.4.3) "A reference to a plain// T can only be initialized with a plain T" however g++ allows the// initialization of plain references with qualified objects in many cases.// keywords: references, initialization, type qualifiersextern const int cint_obj = 9;volatile int vint_obj = 9;void take_int_ref (int& arg) { } // { dg-error "" } referenced by errors belowint& global_int_ref0 = cint_obj;		// { dg-error "" } int& global_int_ref1 = vint_obj;		// { dg-error "" } extern const int& cint_ref;extern volatile int& vint_ref;void test_0 (){  int& local_int_ref0 = cint_obj;		// { dg-error "" }   int& local_int_ref1 = vint_obj;		// { dg-error "" }   take_int_ref (cint_obj);			// { dg-error "" } caught  take_int_ref (vint_obj);			// { dg-error "" }   take_int_ref (cint_ref);			// { dg-error "" }   take_int_ref (vint_ref);			// { dg-error "" } }int main () { return 0; }

⌨️ 快捷键说明

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