してくださいにする必要があります「クラス名」この単純なクラスを見て、以前に定義されたクラスまたは構造体
class TernaryPolynomial;
class IntegerPolynomial;
class DenseTernaryPolynomial:public IntegerPolynomial,public TernaryPolynomial
{
public:
DenseTernaryPolynomial();
static DenseTernaryPolynomial generateRandom(int,int,int);
};
コンパイラはTernaryPolynomialは、以前に定義されたクラスまたは構造体でなければならないと文句を言いんなぜあなたは私を説明していただけます?私はそのクラスのフォワード宣言を入れて以来、気にするべきではないと思った。ここで がTernaryPolynomialクラスが派生するために、前方宣言は十分ではありません
class Polynomial;
class IntegerPolynomial;
class TernaryPolynomial:public Polynomial
{
public:
TernaryPolynomial();
virtual ~TernaryPolynomial();
virtual IntegerPolynomial toIntegerPolynomial() = 0;
};
類似:http://stackoverflow.com/questions/389957/forward-declaration-of-a-base-class –