According to the standard section of C ++ 03 11.4:
The specifier of the specified type must be used in a friend declaration for the class.
So, according to the specification, the compiler will warn you that the iterator friend declaration should be a qualified class name. If not, complier does not meet the standard in this particular aspect.
What are Designed Type Specifiers ?
C ++ uses developed type specifiers to explicitly tell the compiler to treat a class as a class. I think MSDN can explain this a lot better than I can, so see this for a detailed explanation.
Alok save
source share