I'm working on a lineEditor class (doubly linked list) and I'm switching it from using std::string to a template but I keep getting:

lineeditor.cpp(33) : error C2143: syntax error : missing ';' before '*'

when compiling. The code is:

```
template <class T>
int lineEditor<T>::getSize() {
return maxLineCount;
}
template <class T>
node* lineEditor<T>::at(int n) { //error on this line
fixLine(n);//makes sure number provided is valid
node *curr;
curr = this->head;
for(int i = 1; i < n; i++)
curr = curr->next;
return curr;
}
```

and the header declaration is:

```
template <class T>
class lineEditor {
struct node {
public:
node *pre;// previous node, NULL if first node
node *next;// next node, NULL is last node
T data;
};
public:
// constructors
lineEditor(void);
lineEditor(T);
~lineEditor(void);
// my functions
void fixLine(int &);
int getSize();
node* at(int);
etc...
```

Any clue why this is happening? Thanks in advance.