我具有低於在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