我想通过派生类初始化一个基类成员项目。我遇到的问题是我传递的值取决于“x”。 所以这里是我在做什么:?如何在派生构造函数的大括号中初始化基构造函数? C++
Derived:: Derived()
{
uint8 number = getNumber();
P p;
if (number == 3)
{
p = P1;
}
else
{
p = P2;
}
Base(p);
}
我得到的错误“没有默认构造函数存在类‘基地’有什么我做错了
你定义在基类的构造函数基础:: Base的(P P) – HJuls2
@ HJuls2 - 已定义,但没有'Base()',因为t他错误地指出。 '基地(p);'不是电话。它定义了一个类型为'Base'的名为'p'的对象,试图默认构造它。 – StoryTeller
Base(p)是构造函数调用。 Base :: Base(P p); –