ho un domanda la quale non riesco a trovare risposta nei manuali


ho definito una funzione 'globale' e una classe [c1].
la funzione viene chiamata in punti diversi del codice.
la classe ha una metodo con lo stesso nome della funzione ma con parametri diversi.(simile a un overloaded)
nella definizione del metodo c'è una chiamata alla funzione 'esterna' che nulla ha a che fare con la classe! il nome chiaramente è lo stesso

per capirci:
EQUIVOCO(int a)//funzione NON membro
{/*...*/}

class c1{/*...*/public:
EQUIVOCO(void);//funzione membro
}
double c1::EQUIVOCO(void)//definizione metodo
{
/*...*/
return EQUIVOCO(1);//chiamata funzione NON membro
/*(probabilmente il precomp si aspetta una funzione overloaded,non una chiamata a un funzione non membro)*/
}

DOMANDA: come posso esplicitare la chiamata a un funzione non membro? (come nel caso riportato? ;vi ricordo: la chiamata di un metodo non ha bisogno di esplicitare la classe di provenienza, solo la definizione ha questa necessità(questo è un problema... HELP!!!))

[se vi interessa il nome della funzione è:
distanza(vettore a,vettore b),
retta::distanza(retta r) capite???]

ERRORE:
----Configuration: x - Win32 Debug-----
Compiling...
x.cpp
x.cpp(198) : error C2661: 'distanza' : no overloaded function takes 2 parameters
Error executing cl.exe.
x.exe - 2 error(s), 0 warning(s)
//qui cerca retta::distanza(vettore a,vettore b)sigh!

uso Visual C++ 6.0