Need help, trying to use vectors to display and multiply two matrices. Could anyone compile this code and tell me what I am doing wrong, please!

#include <iostream.h>
#include <vector>

using namespace std;

template <class t>
class vector
{
public:

vector(int rows, int cols) : array(rows)
{
for (int k=0;k<rows;k++)
array[k].resize(cols);

}
const vector< vector<int> >& matrix(int row1) const
{
return array[row];
}
vector< vector<int> >& matrix(int row1)
{
return array[row];
}
int fillin(int row1, int column1)
{
for (int i=0,j; i<row1;i++)
{
for (j=0;j<column1;j++)
{
cout <<"Enter a number for the 1st matrix: ";
cin>>matrix1;
mat[i][j]=matrix1;
}
}
return mat;
}
vector<int>operator *(const vector<int>&a)
{
int n=a.numrows();
vector<int>c(n,n);
int i;
for (i=0;i<n;i++)
{
for(int j=0;j<n;j++)
c[i][j]=0;
}
for (i=0;i<n;i++)
for(int j=0;j<n;j++)
for(int k=0;k<n;k++)
c[i][j]+=a[i][k]*b[k][j];
return c;
}
int numrows() const
{
return array.size();
}



int numcols() const
{
return numrows() > 0 ? array[0].size() : 0;
}
private:
int matrix1;
vector< vector<t> > array;

};


void main()
{
char input;
do
{

int row1, row2, column1, column2;

cout <<"Enter the row dimensions of the 1st matrix: ";
cin >>row1;
cout <<"Enter the column dimensions of the 1st matrix: ";
cin >>column1;
cout <<"Enter the row dimensions of the 2nd matrix: ";
cin >>row2;
cout <<"Enter the column dimensions of the 2nd matrix: ";
cin >>column2;

while (column1 != row2)
{
cout <<"Your matrix dimensions are not compatible, \n";
cout <<"Re-enter your row dimension of the 2nd matrix to \n";
cout <<"match the column dimension of the 1st matrix: ";
cin >> row2;
}

cout <<"Your matrix dimensions are "<<row1<<" x "<<column1<<
" and "<<row2<<" x "<<column2<<endl;


vector<int>a(row1,column1);
a.fillin(row1,column1);

vector<int>b(row2,column2);
b.fillin(row2,column2);

cout<<"The sum of the two matrices is: ";
a*b;

cout <<"Enter 'y' to continue or 'n' to quit: ";
cin >> input;
}while ((input == 'y') || (input == 'Y'));
}