C++11 C++;同一标头中有2个类的未声明标识符

C++11 C++;同一标头中有2个类的未声明标识符,c++11,debugging,C++11,Debugging,请帮忙,我有以下几行代码: #ifndef UNTITLED_ARMY_H #define UNTITLED_ARMY_H using namespace std; #include <vector> class Country { public: vector <DiplomacyRequest> pendingDiplomacy; //Line 12 Country() {} } ; class DiplomacyRequest {

请帮忙,我有以下几行代码:

#ifndef UNTITLED_ARMY_H
#define UNTITLED_ARMY_H

using namespace std;

#include <vector>

class Country {

public:

    vector <DiplomacyRequest> pendingDiplomacy;  //Line 12

    Country() {} } ;

class DiplomacyRequest {

    Country issuerCountry;

    int money = 0;

    void acceptRequest();
    void declainRequest();

public:
    DiplomacyRequest() {} };

#endif //UNTITLED_ARMY_H
#如果没有命名"陆军"
#定义无标题的军队
使用名称空间std;
#包括
阶级国家{
公众:
vector PendingForeignity;//第12行
国家{};
阶级外交请求{
国家发行国;
国际货币=0;
void acceptRequest();
无效宣告请求();
公众:
外交请求(){}};
#endif//UNTITLED_ARMY_H
我收到了一个错误:

错误:在第12行使用未声明的标识符“外交官请求”


故障在哪里?

在声明之前,您指的是第12行中的
外交请求。您可以使用来修复该问题

类外交请求;
阶级国家
{
公众:
vector PendingForeignity;//第12行
国家()
{
}
};
阶级外交请求
{
国家发行国;
国际货币=0;
void acceptRequest();
无效宣告请求();
公众:
外交请求
{
}
};

您需要转发此请求。阅读更多
class DiplomacyRequest;

class Country
{

public:
    vector<DiplomacyRequest> pendingDiplomacy; // Line 12

    Country()
    {
    }
};

class DiplomacyRequest
{

    Country issuerCountry;

    int money = 0;

    void acceptRequest();
    void declainRequest();

public:
    DiplomacyRequest()
    {
    }
};