0
4

2 回答 2

1

我想你在这里遇到错误:

polynomial1->get(0)->coefficient

而且(这又是我的猜测)这是因为该get函数是在基类 ( Data) 中定义的,并返回一个指向Data(not PolynomialTerm) 的指针。当然Data没有coefficient(只有PolynomialTerm确实)。

编译器不知道返回的指针get实际上指向PolynomialTerm实例。因此你得到错误。

解决此问题的一种方法是将指针类型转换为它的实际类型PolynomialTerm*

dynamic_cast<PolynomialTerm*>(polynomial1->get(0))->coefficient
于 2013-07-14T18:29:20.207 回答
0
PolynomialTerm(int coefficient, Variable* variable):
     coefficient(coefficient), variable(variable){}

您的编译器可能会被coefficient(coefficient). 更改参数名称或成员名称:

PolynomialTerm(int coef, Variable* var):
     coefficient(coef), variable(var){}
于 2013-07-14T18:30:17.137 回答