memfriend3.c

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

C
56
字号
// { dg-do compile }// Copyright (C) 2003 Free Software Foundation// Contributed by Kriang Lerdsuwanakij <lerdsuwa@users.sourceforge.net>// Member function of class template as friendtemplate<class T> struct A{  void f(T);};class C {  int i;  template<class T> friend void A<T>::f(T);};template<class T> struct A<T*>{  void f(T*);};template<> struct A<char>{  void f(char);};template<class T> void A<T>::f(T){  C c;  c.i = 0;}template<class T> void A<T*>::f(T*){  C c;  c.i = 0;}void A<char>::f(char){  C c;  c.i = 0;}int main(){  A<int> a1;  a1.f(0);  A<int *> a2;  int *p = 0;  a2.f(p);  A<char> a3;  a3.f('a');}

⌨️ 快捷键说明

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