问问题
690 次
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 回答