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