typename7.c
来自「linux下编程用 编译软件」· C语言 代码 · 共 32 行
C
32 行
// { dg-do compile }// Origin: Volker Reichelt <reichelt@igpm.rwth-aachen.de> and// Alexandre Oliva <aoliva@redhat.com>// PR c++/18757: ICE in get_innermost_template_argsstruct A{ template<typename> void foo(int); template<typename T> void bar(T t) { this->foo<typename T>(t); } // { dg-error "expected|parse error|no matching" } template<typename T> void bad(T t) { foo<typename T>(t); } // { dg-error "expected|parse error" }};template <typename T>struct B{ void bar(T t) { A().bar<typename T>(t); } // { dg-error "expected|parse error|no matching" } void bad(T t) { B<typename T>::bar(t); } // { dg-error "invalid|not a template" }};void baz(){ A().bar(0); A().bad(0); B<int>().bar(0);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?