求解c++在.h的头文件中使用template报错(vscode,在.cpp正常)什么原因?

template <typename T>
 struct ListNode {
  T data;
  ListNode<T> *pred;
  ListNode<T> *succ;
  ListNode() {}
  ListNode(T e,ListNode<T> * p=NULL,ListNode<T>* s=NULL):data(e),pred(p),succ(s){}
};

报错第三行
Unknown type name 'template'

Expected identifier or '('

先感谢了

把完整的头文件和include它的代码贴出开。

函数实现放在头文件里

看错误类型你是不是其他头文件少分号了