memfriend17.c
来自「linux下编程用 编译软件」· C语言 代码 · 共 47 行
C
47 行
// { dg-do compile }// Origin: Giovanni Bajo <giovannibajo@libero.it>// PR c++/13495: Nested class as template friend.template<typename T>class A{public: class B { void func1(void); void func2(void); };};template<typename Q>class F1{ friend class A<Q>::B; enum { foo = 0 }; // { dg-error "private" }};template<typename Q>class F2{ template<typename T> friend class A<T>::B; enum { foo = 0 };};template <typename T>void A<T>::B::func1(void){ (void)F1<T>::foo; (void)F2<T>::foo;}template <typename T>void A<T>::B::func2(void){ (void)F1<T*>::foo; // { dg-error "context" } (void)F2<T*>::foo;}template class A<int>; // { dg-error "instantiated" }
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?