Przeciążanie funkcji przypadek szczególny

1

Mam dwie funkcje:

void set( unsigned long long );
void set( const char * );
 

kompilator zwraca błąd dwuznaczności gdy jawnie wywołam funkcję set(0). Czy jest jakiś sposób by poinformować kompilator, jaką funkcję ma wywołać w takiej sytuacji?

0

Ja bym spróbował

set((unsigned long long) 0)

albo set((const char*) 0)

0

Z punktu widzenia kompilatora to równie dobrze moze być set(NULL) co set(0). A jak dasz na przykład rzutowanie (j.w.) albo np. 0L ?

0

Ale takie rozwiązania wymagają zaangażowania osoby, która korzysta z tej funkcji. Jestem ciekaw czy istnieje rozwiązanie ukryte przed klientem?

0

Dlatego w C++11 prowadzono nullptr dzięki czemu unika się takich problemów.

1 użytkowników online, w tym zalogowanych: 0, gości: 1