In c++ if header is included why I got 'does not a name of type' error? : <p>I have <code>data.h</code>:</p>

<pre><code>#ifndef DATA_H_INCLUDED
#define DATA_H_INCLUDED

#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;iostream&gt;

using namespace std;

class student{
    public:
        string id;
        int points [6] = {0,0,0,0,0,0};
};



#endif // DATA_H_INCLUDED
</code></pre>

<p>And I have <code>enor.h</code>:</p>

<pre><code>#ifndef ENOR_H_INCLUDED
#define ENOR_H_INCLUDED
#include &lt;fstream&gt;
#include &lt;vector&gt;
#include &lt;string&gt;
#include &lt;iostream&gt;
#include "data.h"

using namespace std;

enum status{norm,abnorm};

class enor{
    public:
        /*some voids*/
        Student Current() const { return elem; }
        student elem;
    private:
       /*some voids*/
};


#endif // ENOR_H_INCLUDED
</code></pre>

<p>And I got <code>'Student' does not a name a type</code>, but why? I tried also if the <code>Student</code> calss is in <code>enor.h</code>, but also this error. how can I resolve this, and why is this?</p>
