2
template <typename T> int foo1(int);
3
template <typename T> int foo2(T);
4
template <int I> int foo3();
6
template <typename T> int foo4(int);
8
int res1 = N::foo1<int>(1);
9
int res2 = N::foo2<int>(1);
10
int res3 = N::foo3<1>();
11
int res4 = N::template foo3<1>();
12
int res5 = foo4<int>(1);