Listing 4 Applying the rewriting rule literally to class X and function f (form Listing 3) changes f's semantics.

int k;

class X
       {
       int i;
       static int k;
       friend void f(X &x);
       friend void g(X &x);
       };

inline void f(X &x) { x.i = ++k; }

void g(X &x) { x.i = ++k; }
// End of File