template <class T, class M, template <class> class S> void [i]functionName[/i] (T *view, M *model, S<int> &storage);
[i]functionName[/i]<QTreeView, QStandardItemModel, QVector<int>& > (tree, model, &storage);
C++ (Qt)#include <iostream>#include <vector> template <template <class> class S> void foo(S<int> ¶m) { std::cout << "Hello " << param;} int main(){ std::vector<int> vec; vec.push_back(3); vec.push_back(7); foo(vec); return 0;}
template <class T, class Q, template <class> class W> void func(T *view, Q *model, W<int> &storage);
template <class T, class Q, template <class> class W> void classname::func(T *view, Q *model, W<int> &storage){ // to do }
QVector<int> storage; storage.append(1); storage.append(2); storage.append(3); func(tree, model, storage);