The following code does not compile. Is there a different syntax to achieve that?
template <typename T>
struct A {};
template <typename T>
struct B {};
template <typename S, typename T>
struct C : S<T> {}; // unknown template name 'S'
int main() {
A<int> a;
B<int> b;
C<A,int> c; // Use of class template 'A' requires template arguments
}