c'è un problemino...

questo bel codice, che prima andava tranquillamente, ora non vuole più saperne...

codice:
#include<iostream>
using namespace std;

template<class tipo>
tipo max(tipo x, tipo y) {
    return (x > y) ? x : y;
}

int main() {
    int b = 4, c;
    c = max(3, b);
    system("pause");
}
nulla di complicato, solo l'uso di un template per definire una funzione che possa lavorare sia su interi che su double...

11 C:\Documents and Settings\root\Desktop\C++\4.2 4.cpp call of overloaded `max(int, int&)' is ambiguous
error C:\Documents and Settings\root\Desktop\C++\4.2 4.cpp:5 candidates are: tipo max(tipo, tipo) [with tipo = int]