线性表的尝试,出错了,哪位高手帮小弟我看下,多谢

线性表的尝试,出错了,谁帮我看下,谢谢
#include<iostream>
using namespace std;
template <class T>
class SeqList{
public:
SeqList (int length=10); 
void InitList (){last = -1;};
int InsetList (T x,int i);
int LocateList (T &x);
int Length(){return last+1;};
T Get(int i){return (i<0||i>last?NULL:data[i]);};
int DeleteList (T &x);
private:
int MaxSize;
int last;
T *data;
};
 
template <class T> int SeqList<T>::InsetList(T x,int i){
if(i<0 || i>last+1 || last = MaxSize-1) return 0;
else{
last++;
for(int j=last;j>i;j--) data[j]=data[i-1];
data[i]=x;
return 0;
}
}
template <class T> int SeqList<T>::LocateList (T &x){
int i=0;
while(i<last && data[i]!=x) i++;
if (i>last) return -1;
else return i;
}
template <class T> int SeqList<T>::DeleteList (T &x){
int i= LocateList (x);
if (i>=0){
last--;
for(int j=i;j<=last;j++) data[j]=data[j+1];
return 1;
}
}
template <typename T> void Union(SeqList<T> &LA,SeqList<T> &LB){
for(int i=0;i<9;i++){
int n=LA.Length();
T x=LB.Get(i);
int k = LA.LocateList (x);
if (k== -1){
LA.InsetList(x,n+1);n++;}
}
}
int main(){
SeqList<int> LA,LB;
int a=0;
int b=0;
cout<<"输入LA的数及其位置"<<endl;
cin>>a>>b; 
while(b!=-1){ 
LA.InsetList(a,b);
};
cout<<"输入LB的数及其位置"<<endl;
cin>>a>>b; 
while(b!=-1){ 
LB.InsetList(a,b);
};
Union(LA,LB);
system("pause");
return 0;

 
 
错误提示: E:\CPP\线性表.cpp In member function `int SeqList<T>::InsetList(T, int) [with T = int]': 
60 E:\CPP\线性表.cpp instantiated from here 
21 E:\CPP\线性表.cpp non-lvalue in assignment
------解决方案--------------------

#include<iostream>
using namespace std;
template <class T>
class SeqList
{
public:
SeqList(int length=10); //构造函数写法错误!
~SeqList();

//以下几个函数不需要末尾的分号错啦!
void InitList (){ last = -1; } 
int InsetList ( T x,int i);
int LocateList (T &x);
int Length(){ return last+1; }
T Get(int i){ return ( i<0 
------解决方案--------------------
 i>last ? NULL:data[i] ); }
int DeleteList (T &x);

void printList();  //new add

private:
int MaxSize;
int last;
T *data;
};

template <class T> 
SeqList<T>::SeqList(int length)
{
MaxSize = length; 
last = -1; 
data = (T*)malloc(MaxSize);


template <class T> 
SeqList<T>::~SeqList()