1char c;
2
3struct S {
4  template <typename T>
5  operator T*();
6
7  template <typename T>
8  operator T();
9};
10
11template <>
12S::operator int()
13{
14  return 2;
15}
16
17template <>
18S::operator char*()
19{
20  return &c;
21}
22
23int main()
24{
25  S s;
26  int i = s;
27  char* cp = s;
28
29  if (i != 2 || cp != &c)
30    return 1;
31}
32