Typename... template Makes the function a template T will be replaced with a type typename vector::size_type T is unknown when compiling vector::size_type is unknown Could be a member or a type The compiler assumes a member typename specifies it's a type