I'm trying to create a template class withing a template class for a FIFO structor :
template<typename C>
class CFIFO
{
public:
CFIFO();
~CFIFO();
HRESULT PUSH( C *pItem );
HRESULT POP( C *pItem );
protected:
template<typename C>
class CFIFODATA : public CSingleLinkedList<C>
{
public:
CFIFODATA() { };
~CFIFODATA() { };
protected:
C *m_Data;
};
CFIFODATA<C> *m_Data;
};
the problem is when i'm trying to write code for the inner class (CFIFODATA) i'm trying write code for the constructor and i'm getting this error:
DirectX error LNK2019: unresolved external symbol "public: __thiscall CFIFO<long>::CFIFODATA<long>::CFIFODATA<long>(void)" (??0?$CFIFODATA@J@?$CFIFO@J@@QAE@XZ) referenced in function "public: __thiscall CFIFO<long>::CFIFO<long>(void)" (??0?$CFIFO@J@@QAE@XZ)
This is how i'm trying to do it:
template<typename C> CFIFO<C>::CFIFODATA<C>::CFIFODATA()
{
this->m_Data = NULL;
this->m_Next = NULL;
}
probably something i'm overlooking right?