#include template void swap (T & foo, T & bar ) { T stupid = foo; foo = bar; bar = stupid; } int main() { int x=1, y=2; swap(x,y); std::cout << x << y << std::endl; }