class-template1.cpp
501 Bytes
1
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
31
32
33
34
35
36
37
template<typename T>
struct X0 {
T getValue(T arg) { return arg; }
};
template<int I>
struct X1;
template<int I>
struct X2;
template<int I>
struct X3;
template<template<int I> class>
struct X4;
template<template<long> class>
struct X5;
template<typename>
struct X6;
extern X0<int> *x0i;
extern X0<long> *x0l;
extern X0<float> *x0r;
template<>
struct X0<char> {
int member;
char getValue(char ch) { return static_cast<char>(member); }
};
template<>
struct X0<wchar_t> {
int member;
};