template<template <typename> class T, typename U> void someFunc(T<U>) { } template<typename T> struct A { }; void otherFunc() { A<int> a; someFunc(a); }