'StringLinkedList' 未在此范围内声明

'StringLinkedList' was not declared in this scope

我遇到这个错误

'StringLinkedList' 未在此范围内声明

这是我的代码

我不明白为什么会出现这个错误

StringNode.h [头文件]

#ifndef StringNode_H
#define StringNode_H
#include<iostream>
#include<string>
using namespace std;
class StringNode{
private:
    string elem;
    StringNode* next;

friend class StringLinkedList;  
};

#endif

StringLinkedList.h [头文件]

#include "StringNode.h"
#ifndef StringLinkedList_H
#define StringLinkedList_H

class StringLinkedList{
private:
    StringNode* head;
public:

StringLinkedList();
~StringLinkedList();
bool empty() const;
const string& front() const;
void addFront(const string& e);
void removeFront();
void displaylist();
};

#endif

StringLinkedList.cpp

#include "StringLinkedList.H"
#include<iostream>
using namespace std;

StringLinkedList::StringLinkedList(){
this->head = NULL;
}

mainclass.cpp

#include<iostream>
using namespace std;

int main()
{
StringLinkedList a;
return 0;
}

您忘记在模块 mainclass.cpp

中包含 header