"Does not name a type" class 中的错误

"Does not name a type" error in class

我正在为我的 class 编写程序,其中涉及在结构内部使用 class。定义结构(命名多项式)时 'Polynomial does not name a type'。它在默认构造函数的第一行触发:

Polynomial::Polynomial(){
    coefs = vector<Fraction>();
}

具体错误发生在"Polynomial::Polynomial(){"行。

我为该错误找到的所有其他示例包括 class A 内的 using class B,然后再声明 class B。多项式的唯一成员是 class 分数的向量。我已经尝试过 class 分数和矢量的前向声明。这可能是一个菜鸟错误,因为我对 C++ classes 还是很陌生(这是我的第一个)所以任何帮助将不胜感激。

多项式头文件的相关部分是:

// data members
vector<Fraction> coefs;

// methods
Polynomial() = default;

polynomial.cpp 需要包括它的 header:

#include "polynomial.h"

源代码(.cpp 文件)和 C++ 中的 header (.h) 文件之间没有隐式关联。您必须包含 header 才能理解名称 Polynomial