首页 > 解决方案 > 类型类的C ++变量声明不命名类型?

问题描述

我有一个涉及声明属于类型类的变量的问题。

示例代码

class Party{
     public:

     string partyName;
     Leader leader;
     Candidate candiate;
     nationalcompaignManager nationalManager;
     natioanlfinancialManager financialManager;
     compaignMananger newcompaignMananger; 
};

class Leader: public Person {

    public:
     int popularity;
     int totalcountryVotes;
}

正如在这段代码片段中看到的,有几个变量声明为一个类的类型,在这个例子中,我演示了一个类领导者是如何为一个变量领导者存在的;

错误代码示例(所有相同)

 error: ‘Leader’ does not name a type
      Leader leader;

每个变量都有类,但为了简单起见,我将使用 Leader。领导者被明确定义为程序范围内的一个类,但其类型的变量不是吗?我不确定为什么会发生此错误

标签: c++classdeclaration

解决方案


只需在Leader上面声明Party以使其对Party类“可见”。

class Leader
{
};

class Party
{
  Leader leader;
};

推荐阅读