首页 文章

在类中声明结构

提问于
浏览
0

我创建了一个名为 Text 的类,其中一个成员是 std::vector Pal_freq ,在 class 中声明了 struct .

我收到了这些错误:

错误:'Pal_freq'没有命名类型bool criteri(const Pal_freq&p1,const Pal_freq&p2);错误:'Pal_freq'没有命名类型bool criteri(const Pal_freq&p1,const Pal_freq&p2);错误:'Pal_freq'未在此范围向量中声明consultar_taula_freq();错误:模板参数1是无效的向量consultar_taula_freq();

这是代码:

class Text {
 public:

  struct Pal_freq {
  int freq;
  string pal;
  };

  vector <Pal_freq> taula;
};

1 回答

  • 3

    错误消息不是来自您展示的那小块ode(结构的定义),它们来自您未向我们展示的其他代码段(即您尝试使用嵌套结构的位置) .

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

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

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

相关问题