#include #include using namespace std; // returns 0 if equal, 1 if value1 is bigger, -1 otherwise template int compare(const T &value1, const T &value2) { if (value1 < value2) return -1; if (value2 < value1) return 1; return 0; } int main(int argc, char **argv) { string h("hello"), w("world"); cout << compare(10, 20) << endl; cout << compare("Hello", "World") << endl; // bug! cout << compare(h, w) << endl; // ok cout << compare(2, 2.0) << endl; // ok return 0; }