为什么我不能使用两个 .h 文件?

Why can't I use two .h file?

当我在 #include "Anna.h" 上面执行 #include "George.h" 然后 using namespace Anna; 时,它会给我一个错误 'expected namespace name' 和 'unknown type Human, you mean Anna::Human?',但是如果我输入 #include "Anna.h"以上#include "George.h",一切正常

所以我想我的问题是我不能包含两个头文件。但为什么?我正在学习 udemy 课程,老师的代码工作正常。

#include <iostream>
#include "Anna.h"
#include "George.h"

using namespace std;
using namespace George;

int main()
{

    Human human1;
    human1.talk();

    return 0;
}

这是Anna.h代码:

#ifndef HUMAN_H
#define HUMAN_H

namespace Anna
{

class Human
{
    public:

    Human();
    void talk();
    ~Human();

};

}

#endif // HUMAN_H

这是George.h代码:

#ifndef HUMAN_H
#define HUMAN_H

namespace George
{

class Human
{
    public:

    Human();
    void talk();
    ~Human();

};

}

#endif // HUMAN_H

在 Anna 中,将 HUMAN_H 更改为 ANNA_HUMAN_H,在 George 中,将 HUMAN_H 更改为 GEORGE_HUMAN_H

我还没有对此进行测试,但从评论(和我自己的推理)来看,这是错误的