Below is a very simple Template class. I tested it without the use of templates, and it works fine. I am trying to convert it to a template class.

#include <iostream>
#include <vector>
#include <string>
#include <cmath>

using namespace std;

template <class T>
class Stack
{
private:
int position;
int input;
public:
Stack();
void push(int, int, vector<T> &);
void display(int, vector<T>);
};
template <class T>
Stack<T>::Stack()
{
//nothing

}
template <class T>
void Stack<T>:ush(int position, int input, vector<T> &mainStack)
{
mainStack[position] = input;
return;

}
template <class T>
void Stack<T>:isplay(int position, vector<T> mainStack)
{
cout <<mainStack[position]<<endl;
}

template <class T>
int main()
{

vector<int> values (25);// declares a vector of 25 integers
values[23] = 8888;
Stack a;
a.push(22, 9999, values);
a.display(22, values);
a.display(23, values);
return 0;
}

I get 2 errors: Can somebody point me in the right direction?

1>Linking...
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: unresolved external symbol _main referenced in function ___tmainCRTStartup
1>C:\Users\Cesar\Documents\Visual Studio 2008\Projects\BurrisStuff\DataStructures\Debug\DataStructures.exe : fatal error LNK1120: 1 unresolved externals
1>Build log was saved at "file://c:\Users\Cesar\Documents\Visual Studio 2008\Projects\BurrisStuff\DataStructures\DataStructures\Debug\BuildLog.htm"
1>DataStructures - 2 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========