在我的代码中,className
和classType
会抛出“不是非静态成员或基类”错误。
class BaseClass
{
public:
std::string className;
int classType;
};
class DerivedClass : public BaseClass
{
public:
// Default Constructor
DerivedClass(){};
// Member Constructor
DerivedClass(
std::string className_,
int classType_
) :
className( className_ ),
classType( classType_ )
{}
// Destructor
~DerivedClass(){};
};
答案 0 :(得分:2)
错误非常精确:您无法在子项初始化列表中引用父类的成员。
而是将它们传递给初始化列表中的父母ctor:
DerivedClass(
std::string className_,
int classType_
)
: BaseClass(className_, classType_)