下面list的定义是错误的,应如何修正它?

 #include <iostream>
using namespace std;
template <typename elemtype> class listitem;
template <typename elemtype> class list{
public:
    list<elemtype>();
    list<elemtype>(const list<elemtype> &);
    list<elemtype>& operator=(const list<elemtype> &);
    ~list();
    void insert(listitem *ptr, elemtype value);
private:
    listitem *front, *end;
};

是不是错在构造函数的函数名后面不要加,又为什么我编译了一下程序没有提示语法错误呢?谢谢各位。

#include <iostream>
using namespace std;
template <typename elemtype> class listitem;
template <typename elemtype> class list{
public:
    list<elemtype>();
    list<elemtype>(const list<elemtype> &);
    list<elemtype>& operator=(const list<elemtype> &);
    ~list();
    void insert(listitem<elemtype> *ptr, elemtype value);
private:
    listitem<elemtype> *front, *end;
};
int main() {} 

编译器提示的语法错误到底是什么? 没看到你的错误信息

没有实现方法和主函数