You must use the keyword templatewhen calling the member function template, and you have a dependent name, or it method1will be parsed as a member variable cand <as "less than":
c.template method1<TypeName1>();
@DrewDormann, , template, , Class1 , method1 - . , method1 , .