I was wondering if someone could explain there terms since I encounter them in many places. I know some basic theory about them but not sure what I know is right or wrong.>
A qualified name is one that has some sort of indication of where it belongs, e.g. a class specification, namespace specification, etc. An unqualified name is one that isn't qualified.
Read James McNellis' answer here:
What is a nested name specifier?
Given:
struct A {
struct B {
void F();
};
};
A is an unqualified-id.::A is a qualified-id but has no nested-name-specifier.A::B is a qualified-id and A:: is a nested-name-specifier.::A::B is a qualified-id and A:: is a nested-name-specifier.A::B::F is a qualified-id and both B:: and A::B:: are nested-name-specifiers.::A::B::F is a qualified-id and both B:: and A::B:: are nested-name-specifiers.