C ++ generuje ostrzeżenie, gdy członek klasy ocienia członka klasy swojego rodzica?

Czy istnieje sposób generowania ostrzeżenia, gdy nazwa pochodnej zmiennej członka klasy zacienia się w jednej z klas rodziców, np

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' */
};

Powyższy kod nie generuje żadnego ostrzeżenia przy kompilacji-Wshadow z g ++.

questionAnswers(2)

yourAnswerToTheQuestion