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 ++.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage