nest19.c

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

C
41
字号
// { dg-do assemble  }// GROUPS passed nested-classes// This is the first line of file ||t3.C||.// This code demonstrates a variation of the same problem with nested// types.  In C++, nested typedefs are not supposed to be visible// outside their class scopes but they apparently are in gcc 2.4.5.// This code compiles fine in AT&T cfront 3.0.1, but gcc rejects it// with the messages given below.// If this class does not precede Expr, then the code will compile.class Another {public:    typedef int Boolean;    enum { FALSE, TRUE };};// If Expr does not define typedef int Boolean, then the code will// compile.class Expr {public:    typedef int Boolean;    enum { FALSE, TRUE };    void foo();    void call_something_with(Boolean);};// t3.C: In method `void  Expr::foo ()'://   t3.C:36: uninitialized const `Boolean'//   t3.C:36: parse error before `='//   t3.C:37: `argument' undeclared (first use this function)//   t3.C:37: (Each undeclared identifier is reported only once//   t3.C:37: for each function it appears in.)void Expr::foo() {    const Boolean argument = TRUE;    call_something_with(argument);}

⌨️ 快捷键说明

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