Исправление four_str_sam, (текущая версия) :
template <typename T>
struct TestClass {
template <typename R>
R do_somethign(T v) const { return v; }
};
template <typename S, typename R>
R call_test_class(const TestClass<S>& v) {
return v.template do_somethign<R>(5);
}
void use_my_test_class() {
TestClass<int> c1;
call_test_class<int,int>(c1);
}
Исходная версия four_str_sam, :
template <typename T>
struct TestClass {
template <typename R>
R do_somethign(T v) const { return v; }
};
template <typename S, typename R>
R call_test_class(const TestClass<S>& v) {
return v.template do_somethign<R>(5);
}
void use_my_test_class() {
TestClass<int> c1;
call_test_class<int,int>(c1);
}