What is the error? I get 3 'unresolved external' errors!Code://stdafx.h #pragma once #define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers #include <stdio.h> #include <tchar.h> #include <iostream.h> #include <stdlib.h> #include <string.h> /************************************/ //Queue.h #ifndef GUARD_CQueue_H #define GUARD_CQueue_H template <class T> class CQueue { public: //exception classes class CqueueFull{}; class CqueueEmpty {}; private: typedef struct node_s { T item; node_s * next; node_s (T x) { item = x; next = NULL;} }LList; LList *head, *tail; int max_size; int current_size; public: CQueue(int iSize); inline bool empty() const { return head == NULL; } void In(T x); T Out(); }; /******************************/ //Queue.cpp #include "stdafx.h" #include "CQueue.h" template<class T> CQueue<T>::CQueue(int iSize) { max_size = iSize; current_size = 0; head = NULL; } template<class T> T CQueue<T>::Out() { if(!empty()) { T v = head->item; LList *t = head->next; delete head; head = t; return v; }else { throw CqueueEmpty(); } } template <class T> void CQueue<T>::In(T x) { if( current_size < max_size) { current_size ++; LList *t = tail; tail = new node_s(x); if(head == NULL) { head = tail; }else { t->next = tail; } }else { throw CqueueFull(); } } /*******************************/ //Main.cpp #include "stdafx.h" #include "CQueue.h" int main() { try { CQueue<double> Q(16); Q.In(12.3); Q.In(45.2); Q.In(67.69); Q.In(8.98); cout << "Out: " << Q.Out() << endl; cout << "OUt: " << Q.Out() << endl; cout << "OUt: " << Q.Out() << endl; cout << "OUt: " << Q.Out() << endl; } catch(CQueue<double>::CqueueFull) { cout << "Queue is full." << endl; } catch(CQueue<double>::CqueueEmpty) { cout << "Queue is Empty." << endl; } return 0; }