下面一段:
template<class T> class mytem {
    private:
        T ac;
    public:
        mytem(T av=0):ac(av) {}
        mytem(const mytem& ra):ac(ra.ac) {}
        
        friend mytem<T>& myfriend(mytem<T>& rt){
                cout<<rt.ac<<endl;
         return rt;
         }
        
        void show() {
            cout<<ac<<endl;
          }
     };
可以通过编译.
template<class T> class mytem {
    private:
        T ac;
    public:
        mytem(T av=0):ac(av) {}
        mytem(const mytem& ra):ac(ra.ac) {}
        
        friend mytem<T>& myfriend(mytem<T>& rt);
        
        void show() {
            cout<<ac<<endl;
          }
     };
这样把友元定义在外面就不通过骗译了,是怎么回事呢,我用的是DEV C++;
模版友元
											


 
											





 
	    

 
	




