【发布时间】:2019-09-25 22:43:14
【问题描述】:
我有一对基派生类(IND = MA 的基,MA = 派生自 IND;ST= ST1 的基,ST1 = 派生自 @ 987654328@) 和另一个班级 (FD)。我正在尝试像这样使用它们:
class ST1: public ST{
public:
FD f;
ST1(){};
ST1(FD& a) : f(a) {};
MA abc(f, 10);
};
我遇到的错误:
E0757 member "ST1::f" is not a type name
E0079 expected a type specifier
C2061 identifier 'f'
所有错误都在MA abc(f, 10); 行。
请注意MA 没有默认构造函数,接受FD&, int 参数,IND 是一个纯虚类。
【问题讨论】:
-
MA abc(f, 10);看起来像一个函数声明,你应该声明它的签名。类似MA abc(FD f, int i); -
abc应该是成员函数还是变量? -
@Someprogrammerdude 它应该是一个成员对象。
标签: c++