typename2.c

来自「linux下编程用 编译软件」· C语言 代码 · 共 29 行

C
29
字号
// { dg-do assemble  }// { dg-options "" }// Copyright (C) 1999 Free Software Foundation// by Alexandre Oliva <oliva@dcc.unicamp.br>// based on bug report by Nick Rasmussen <nick@jive.org>// This is slightly different from typename1.C.  This one tests// whether the implicit typename extension works.  gcc 2.95 reports:// warning: lookup of `foo' finds `struct foo'// warning:   instead of `baz<T>::foo' from dependent base class// warning:   (use `typename baz::foo' if that's what you meant)// But baz<T>::foo is not a base class, and `foo' should have been// found in baz's scope.struct foo;template <class T> struct bar {  typedef int foo;};template <class T> struct baz {  typedef bar<T>::foo foo; // { dg-error "" } implicit typename  void m(foo); };

⌨️ 快捷键说明

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