#include #include using namespace std; template class storeX{ public: storeX(); T *a; }; template storeX::storeX():a(new T[10]){} template void kswap(T &a, T &b){ T t = a; a = b; b = t; } int main(void){ storeX sx; char p='p',q='q'; kswap(p,q); cout << p << " " << q << endl; int a = 1, b = 2; kswap(a,b); cout << a << " " << b << endl; return EXIT_SUCCESS; }