我具有低于在C情景++开发的C++无法从dericed类参数在C++调用基类构造
class base{
int i=0;
public:
base(){
cout<<"base default constructor"<<endl;
}
base(int i){
cout<<"base with int"<<endl;
}
};
class derive : public base{
int j;
public:
derive(){
cout<<"derive default";
}
derive(int i){
int k=5;
base(k);//////error
cout<<"derived with int "<<i<<endl;
}
void fun(int i){
cout<<"finction "<<i<<endl;
}
};
int main()
{
derive d(9);
}
内运行以下错误即将后
[错误]冲突的声明“基K”
[错误]'k'以前的声明为'int k'
为什么会出现此错误。
它的工作很好,当我调用基地(5)除了派生的构造函数中声明的任何参数。
在此先感谢。
“DEV C++”不是编译器。 – DeiDei
嗨,是它的临时,我不初始化构造函数。但我想知道为什么base(5)或base(j)在derived()而不是base(i)内工作。 – Ryuk