]>
Commit | Line | Data |
---|---|---|
ff7620c0 JM |
1 | template<class T, class U = int> class D |
2 | { | |
3 | public: | |
4 | int f(); | |
5 | }; | |
6 | ||
7 | template<class T, class U> int D<T,U>::f() | |
8 | { | |
9 | return sizeof(T)+sizeof(U); | |
10 | } | |
11 | ||
12 | template<template<class> class D,class E> class C | |
13 | { | |
14 | D<E> d; | |
15 | public: | |
16 | int f() { return d.f(); } | |
17 | }; | |
18 | ||
19 | template<template<class> class D,class E> int f(D<E> &d1) | |
20 | { | |
21 | d1.f(); | |
22 | C<D,E> d2; | |
23 | d2.f(); | |
24 | return 0; | |
25 | } | |
26 | ||
27 | int main() | |
28 | { | |
29 | D<int> c1; | |
30 | D<char> c2; | |
31 | f(c1); | |
32 | f(c2); | |
33 | } |