1
template <typename T1,typename T2>
2
class A
{};
3
4
template <>
5
class A <int, int>
6

{};
7

2



3

4

5

6



7

1.部分模板参数特化
1
template <typename R, typename Arg1>
2
class A
3

{};
4
5
template <typename Arg1>
6
class A <void, Arg1>
7

{};
8
9
void main()
10

{
11
A <int, int> a1;
12
A <void, int> a2;
13
}
2. 一种特殊的特化
2

3



4

5

6

7



8

9

10



11

12

13

1
#include <stdio.h>
2
3
template<typename Signature> class function;
4
5
template<typename R >
6
class function<R (void)>
7

{
8
public:
9
function()
{
10
printf("function<R (void)>\n");
11
}
12
};
13
14
template<typename R ,
15
typename T0>
16
class function<R ( T0)>
17

{
18
public:
19
function()
{
20
printf("function<R ( T0)>\n");
21
}
22
};
23
24
void main()
25
{
26
function <int ()> f0;
27
function <int (int)> f1;
28
}
29
30

2

3

4

5

6

7



8

9



10

11

12

13

14

15

16

17



18

19



20

21

22

23

24

25



26

27

28

29

30
