C ++ erzeugt eine Warnung, wenn ein Klassenmitglied ein Klassenmitglied seines Elternteils beschattet?
Gibt es eine Möglichkeit, eine Warnung zu erzeugen, wenn ein abgeleiteter Klassenmitgliedsvariablenname eine seiner Elternklassen abschattet, z
class Mother
{
public:
Mother() : i(0) {}
virtual ~Mother() {}
protected:
int i;
};
class Child : public Mother
{
public:
Child() : Mother(), i(0) {}
virtual ~Child() {}
protected:
int i; /* NOK Expecting warning : declaration of 'int Child::i' shadows 'int Mother::i' */
};
Der obige Code erzeugt beim Kompilieren mit keine Warnung-Wshadow
mit g ++.