Ambiguous injected class name is not an error
问题 What I read in the C++ standard about injected class names contradicts (as I see it) with the behavior of a sample program I will present shortly. Here's what I read: From 3.4 (paragraph 3) The injected-class-name of a class (clause 9) is also considered to be a member of that class for the purposes of name hiding and lookup. From 9 (paragraph 2) A class-name is inserted into the scope in which it is declared immediately after the class-name is seen. The class-name is also inserted into the