Hi Steven, Another compiler using the EDG parser produced this output: line 9: error: incomplete type 'b' is not allowed public b::template impl<i> line 9: error: 'b' not a class or struct name public b::template impl<i> line 9: error: class or struct definition of 'b' is missing public b::template impl<i> While GCC produced this output: 9: error: expected template-name before '<' token 9: error: expected `{' before '<' token 9: error: expected unqualified-id before '<' token So I'm pretty confident that what you are trying to do is not copacetic. But what you want is me to cite chapter and verse of ISO 14882. Ummm. I dunno. In situations like these I say "Hey, what's that over there? Is that two phase lookup?" And then run away when your back is turned. Sincerely, --Eljay