在类中声明结构

时间:2016-05-18 09:59:19

标签: c++ class struct

我创建了一个名为Text的类,其中一个成员是std::vector Pal_freqstructclass内声明。

我收到了这些错误:

  

错误:'Pal_freq'没有命名类型      bool criteri(con​​st Pal_freq& p1,const Pal_freq& p2);

     

错误:'Pal_freq'没有命名类型      bool criteri(con​​st Pal_freq& p1,const Pal_freq& p2);

     

错误:未在此范围内声明'Pal_freq'      vector consultar_taula_freq();

     

错误:模板参数1无效      vector consultar_taula_freq();

以下是代码:

class Text {
 public:

  struct Pal_freq {
  int freq;
  string pal;
  };

  vector <Pal_freq> taula;
};

1 个答案:

答案 0 :(得分:3)

错误消息并非来自您展示的那小块颂歌(结构的定义),它们来自您没有向我们展示的其他代码片段(即你尝试使用嵌套结构的地方。)

因为它是在Text内声明的,所以当你在Text范围之外引用它时,你需要限定它的名称,所以你需要将它称为Text::Pal_freq,例如

bool criteri (const Text::Pal_freq& p1, const Text::Pal_freq& p2);

请阅读&#34;如何询问&#34;网站上的指南,并确保包含所有必要的代码,以便我们为您提供帮助。