I accidentally used the class name scope twice when defining a class member method, and was surprised it worked:
class A {
public:
void f();
};
void A::A::f() {}
Why does void A::A::f(){} work? I thought only void A::f(){} should work?