What´s the wrong in this code?
template <class T>
class A
{
private:
T a;
public:
A(): a(0) {}
virtual ~ A() = 0;
};
template <class T>
class A;
template <class T>
class B : public A<T>
{
private :
T b;
public:
B() : A<T>() {}
virtual ~B(){}
};
int _tmain(int argc, _TCHAR* argv[])
{
B <double> bb;
return 0;
}
error LNK2019: unresolved external symbol "public: virtual __thiscall A::~A(void)" (??1?$A@N@@UAE@XZ) referenced in function "public: virtual __thiscall B::~B(void)" (??1?$B@N@@UAE@XZ)