typedefs in Class Declarations

In C++, a typedef name may not be redefined in a class declaration after being used in the declaration. ISO/ANSI C allows such a declaration. For example:

void main ()
{
     typedef double db;
     struct st
     {
          db x;
          double db; // error in C++, valid in ISO/ANSI C
     };
}