C++中,对类的定义,实现,运用。—VS2008,求指教啊该怎么解决

C++中,对类的定义,实现,运用。—VS2008,,,求指教啊。。。
#pragma once

//定义一个顺序表类
class SeqList
{
protected:
DataType *list;
int size;
  int maxSize;
public:
SeqList(int max);
~SeqList(void);
void Insert(int i,DataType& x); 
DataType GetData(int i);
};

#include "SeqList.h"

SeqList::SeqList(int max)
{
maxSize=max;
size=0;
list=new DataType[maxSize]
}

SeqList::~SeqList(void)
{
delete []list;
}
void SeqList::Insert(int i,DataType& x)
{
if(size==maxSize)
{
cout<<"顺序表以满"<<endl;
exit(0);
}
if(i<0||i>size)
{
cout<<"参数i越界出错!"<<endl;
exit(0);
}
for (int j=size;j>i;j--)
list[j]=list[j-1];
list[i]=x;
size++;
}


DataType SeqList::GetData(int i)
{
  if(i<0||i>size-1)
  {
  cout<<"参数i越界出错"<<endl;
exit(0);
  }
  return list[i];
}


#include <iostream>
using namespace std;

typedef int DataType;
#include "SeqList.h"
void main()
{
  SeqList myList(100);
  int n;
  for(int i=0;i<n;i++)
  {
myList.Insert(i,i+1);
  }
  for(int i=0;i<n;i++)
  {
cout<<myList.GetData(i)<<endl;
  }
}
我想请问一下,为什么会出这么多的错呢??、

错误 1 error C2143: 语法错误 : 缺少“;”(在“*”的前面)

错误 2 error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int

我不懂啊?我是初学者,求高手帮个忙,谢谢


------解决方案--------------------
慢慢调试,你在list=new DataType[maxSize];后面漏掉了一个分号;还有就是对引用的使用。你的insert函数的第二参数是引用,当你用i+1的时候这是一个临时变量,不能作为引用的。
C/C++ code

#include <iostream>
using namespace std;

typedef int DataType;

class SeqList
{
protected:
    DataType *list;
    int size;
    int maxSize;
public:
    SeqList(int max);
    ~SeqList(void);
    void Insert(int i,DataType& x);  
    DataType GetData(int i);
};

SeqList::SeqList(int max)
{
    maxSize=max;
    size=0;
    list=new DataType[maxSize];
}

SeqList::~SeqList(void)
{
    delete []list;
}
void SeqList::Insert(int i,DataType& x)
{
    if(size==maxSize)
    {
        cout<<"顺序表以满"<<endl;
        exit(0);
    }
    if(i<0||i>size)
    {
        cout<<"参数i越界出错!"<<endl;
        exit(0);
    }
    for (int j=size;j>i;j--)
        list[j]=list[j-1];
    list[i]=x;
    size++;
}


DataType SeqList::GetData(int i)
{
    if(i<0||i>size-1)
    {
        cout<<"参数i越界出错"<<endl;
        exit(0);
    }
    return list[i];
}

void main()
{
    SeqList myList(100);
    int n;
    int j;
    for(int i=0;i<n;i++)
    {
        j = i+1;
        myList.Insert(i,j);
    }
    for(int i=0;i<n;i++)
    {
        cout<<myList.GetData(i)<<endl;
    }
}

------解决方案--------------------
list=new DataType[maxSize]//少了一分号

DataType *list;
void Insert(int i,DataType& x); //datatype没有明确类型。
此时你可以用楼上的方法。也可以用泛型

------解决方案--------------------
用模板:
C/C++ code

#include <iostream>
using namespace std;

template <typename DataType> class SeqList
{
protected:
    DataType *list;
    int size;
    int maxSize;
public:
    SeqList<DataType>(int max);
    ~SeqList<DataType>(void);
    void Insert(int i, DataType &x);  
    DataType GetData(int i);
};

template <typename DataType> SeqList<DataType>::SeqList<DataType>(int max)
{
    maxSize = max;
    size = 0;
    list = new DataType[maxSize];
}

template <typename DataType> SeqList<DataType>::~SeqList<DataType>(void)
{
    delete []list;
}

template <typename DataType> void SeqList<DataType>::Insert(int i, DataType &x)
{
    if (size == maxSize)
    {
        cout << "顺序表已满" << endl;
        exit(0);
    }
    if (i < 0 || i > size)
    {
        cout << "参数i越界出错!" << endl;
        exit(0);
    }
    for (int j = size; j > i; j--)
        list[j] = list[j - 1];
    list[i] = x;
    size++;
}


template <typename DataType> DataType SeqList<DataType>::GetData(int i)
{
    if (i < 0 || i > size - 1)
    {
        cout << "参数i越界出错" << endl;
        exit(0);
    }
    return list[i];
}

int main()
{
    SeqList<int> myList(100);
    int n = 10;  // 使用未初始化的值
    int j;
    for(int i = 0; i < n; i++)
    {
        j = i + 1;
        myList.Insert(i, j);
    }
    for(int i = 0; i < n; i++)
    {
        cout << myList.GetData(i) << endl;
    }
    return 0;
}