C++ で次のエラーが発生します。
エラー C2614: 'ChildClass': メンバーの初期化が無効です: 'var1' はベースまたはメンバーではありません
Class Base
{
protected:
int var1;
public:
Base()
{
var1=0;
}
}
class Child : public Base
{
int chld;
public:
Child() : var1(0)
{
chld=1;
}
}
私がやったことはOOプロトコルに従っていると感じています。これvar1
は、アクセス指定子として保護された Base クラスのデータ メンバーです。そのため、継承することができ、子で非公開になります。
エラーが発生する理由がわかりませんか?