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?
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?
Ja bym spróbował
set((unsigned long long) 0)
albo set((const char*) 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 ?
Ale takie rozwiązania wymagają zaangażowania osoby, która korzysta z tej funkcji. Jestem ciekaw czy istnieje rozwiązanie ukryte przed klientem?
Dlatego w C++11 prowadzono nullptr
dzięki czemu unika się takich problemów.