twój kod nie spełnia głównego założenia, połknąłeś ampersandy
Mając wartości domyślne nie potrzebnie piszesz kolejny raz funkcję z return 0 (wystarczy dorzucić na końcu funkcji w której sprawdzasz warunki), ba nawet jeśli wartości te są zerami możesz zwrócić którykolwiek z zmiennych (wszędzie masz to co masz zwrócić)
Zapomniałeś o else, warunki się powtarzają nie ma sensu sprawdzać 6x, skoro możesz to zrobić 3x
if (A>B){
if(A>C) return A;
}else if (B>C) return B;
return C;
Pytanie czy ktoś chce podać liczby jest nie na miejscu, powinieneś zapytać ile liczb chcesz pobrać, albo po prostu je pobrać.
Nie rozumiesz idei przeciążenia, masz wywoływać funkcje raz, chodzi o to że nie podając argumentu masz wartość domyślną nie musisz pisać dwóch różnych funkcji i rozróżniać ich przy wywołaniu