#include "iostream.h"
template <class T>
class A
{
friend class B;
public:
A(T &item):data(item){}
private:
T data;
};
template <class T>
class B
{
public:
void f(){
cout<<"B"<<endl;
}
};
如上的程序编译后如下:
Compiling...
1.cpp
C:\Documents and Settings\Administrator\1.cpp(21) : error C2989: 'B' : template class has already been defined as a non-template class
C:\Documents and Settings\Administrator\1.cpp(6) : see declaration of 'B'
执行 cl.exe 时出错.
1.obj - 1 error(s), 0 warning(s)
这是怎么回事?该怎么改?谢谢!