Funkcje 
Wybór funkcji przeładowanej w czasie jej wywoływania

Jeśli mamy kilka funkcji przeładowanych, to kompilator może mieć problem z wyborem właściwej wersji. Postępuje one według reguł podanej poniżej i w takiej właśnie kolejności

  1. ścisła zgodność typów lub dopasowanie na zasadzie utożsamiania typów (np. int, const int)
  2. zgodność przy wykorzystaniu konwersji standardowych w zakresie typów całkowitych rozszerzających pojemność typu (np. int na long) oraz konwersja float na double
  3. zgodność z wykorzystaniem pozostałych standardowych konwersji, (np. int na double, int* na void*)
  4. zgodność przy wykorzystaniu konwersji zdefiniowanych przez użytkownika

Jeśli okaże się, że dwie lub więcej funkcji jest na tym samym poziomie zgodności, to sygnalizowany jest błąd niejednoznaczności (błąd kompilacji)

Przykład - niejednoznaczność przeładowania.

Materiały przeznaczone wyłącznie dla studentów
Instytutu Informatyki i Matematyki Komputerowej UJ
Daniel Wilczak