1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
template <class T> struct S { static int f () { static int i; return ++i; } S () {}; ~S () {}; }; typedef S<int> a; int g () { return a::f(); }