blob: 4e02a95c5bb233821a073b6de545ee719339b08e [file] [log] [blame]
// { dg-do run }
template<int T, class U = int> class D
{
public:
int f();
};
template<int T, class U> int D<T,U>::f()
{
return T+sizeof(U);
}
template<template<int> class D,class E> class C
{
D<1> d;
public:
int f() { return d.f(); }
};
template<template<int> class D> int f(D<2> &d1)
{
d1.f();
return 0;
}
template<template<int> class D> int f(D<1> &d1)
{
d1.f();
return 0;
}
int main()
{
D<1> c1;
f(c1);
}