Błąd C ++ Brak funkcji dopasowania dla wywołania

Błąd C ++ Brak funkcji dopasowania dla wywołania
Brak funkcji dopasowania dla środków wywołania, gdy wywołujemy pewne funkcje, ale identyfikator tej funkcji nie pasuje do argumentu zdefiniowanej funkcji. Dlatego otrzymujemy błąd „bez dopasowania funkcji wywołania” do C++. Ilekroć kompilator stwierdza, że ​​nie ma metod dopasowania, ogólnie wskazuje, że kompilator zidentyfikował metodę według identycznej nazwy.

Więc kiedy nadal przekazujemy określoną metodę niepoprawnego typu lub niewłaściwy zestaw parametrów do funkcji. Definicja funkcji określa nazwę metody kompilatora, a także sposób jej wywołania. Cała treść funkcji jest wyraźnie deklarowana. W tym artykule porozmawiamy o tym, jak błąd „bez dopasowania funkcji wywołania” pojawia się w C++.

Użyj obiektu klasy

W tym scenariuszu parametr funkcji nie pasuje podczas wywołania, więc postaramy się przekazać wskazówki, w których potrzebne są referencje, i użyć różnych typów referencyjnych klas w wywołań funkcji. Ilekroć wywołujemy funkcję, ale definicja funkcji argumentu nie jest dopasowana, wówczas błąd „brak dopasowania funkcji wywołania do C ++”.

Teraz musimy naprawić błąd; W tym celu po prostu podajemy odpowiedni parametr dopasowania podczas definicji funkcji. Kod, wraz ze szczegółowym opisem, można zobaczyć pod spodem.

Na początku kodu zamierzamy uwzględnić bibliotekę, która jest używana do funkcji wejściowych i wyjściowych. Używamy również standardowej przestrzeni nazw. Następnie zainicjowaliśmy klasę o nazwie „a” i określliśmy funkcję setValue () public. Przekazujemy parametr wartości z typem danych liczb całkowitych do tej funkcji. Zainicjowaliśmy również zmienną „wartość” klasy, która ma typ danych liczb całkowitych.

W następnym wierszu wywołujemy inną funkcję setValue (). Ta metoda zawiera zmienną „wartość” jako jej argument. Przyrosty wartości, która została przekazana jako jego argumenty. Następnie nazywamy funkcję main () i otrzymujemy „argc” o typach danych liczb całkowitych i wskaźnika „argv” typu danych znaków jako argumenty. „Argc” to nie. parametrów dostarczanych w kodzie z systemu operacyjnego. „Argv” to zbiór parametrów.

Teraz tworzymy obiekt „OBJ” klasy „a.„Wzywamy funkcję metody setValue (). „OBJ” jest przekazywany jako jego argumenty. Ale nie połączyliśmy obiektu z klasą. Dlatego kiedy wywołujemy funkcję setValue (), zwraca błąd, ponieważ nie mamy tej klasy, w której wywołujemy funkcję setValue (). W powyższym kodzie przekazujemy obiekt klasy w argumencie wywoływania funkcji setValue (), ale jeśli sprawdzamy definicję funkcji setValue (), zakładamy wartość argumentu przełomowego jako liczbę całkowitą. Aby zakończyć kod, użyliśmy polecenia „return 0”. Tutaj można zweryfikować dane wyjściowe wyżej wymienionego kodu.

Uzyskujemy błąd „Brak funkcji dopasowania dla wywołania do„ Po wykonaniu wyżej wymienionego kodu.

Jak rozwiązać ten błąd?

Aby naprawić ten błąd podczas wywołania metody, musimy podać odpowiednie odpowiednie parametry funkcji. Innym sposobem rozwiązania tego błędu jest wykonanie różnych przeciążonych funkcji, które miało różne parametry. Tutaj po prostu modyfikujemy argument funkcji main (). Zatem „brak funkcji dopasowania dla wywołania” do błędu C ++ nie zostanie usunięta. Kod, wraz ze szczegółowym opisem, można zobaczyć pod spodem.

Po użyciu standardowej przestrzeni nazw wprowadzamy plik nagłówka . Skonstruowaliśmy klasę o nazwie „A” i stworzyliśmy jej funkcję setValue (). Ta funkcja odbiera zmienną „wartość” jako parametr, który ma liczbę całkowitą typu danych. Zainicjowaliśmy również zmienną typu danych liczb całkowitych o nazwie „Wartość” w klasie. Ta zmienna jest również publiczna. Następny wiersz wywołuje inną funkcję o nazwie setValue (). Zmienna „wartość” posiadająca liczbę całkowitą typu danych jest dostarczana jako parametr w tej funkcji. Zwiększamy wartość dostarczoną jako jeden z danych wejściowych.

W następnym etapie wywołujemy metodę Main (). W ramach funkcji main () dostarczymy „argc” typu danych liczb całkowitych i „argv” typu danych znaków jako argumentów. „Argc” pokazuje liczbę parametrów dostarczonych przez system operacyjny w programie. „Argv” to kolekcja parametrów. Teraz stworzymy obiekt klasy „A” nazywany ”OBJ.„Zainicjowaliśmy zmienną„ wartość ”z typem danych liczb całkowitych. Wykorzystaliśmy metodę setValue () obiektu i ustawiliśmy „wartość” jako parametry tej funkcji.

Ostatecznie dodajemy „powrót 0”, aby zamknąć program. Pamiętaj, że musimy wprowadzić te same typy danych funkcji i ich argumenty w funkcji Main (). Następnie przekazaliśmy tę funkcję do jej obiektu i zwróciliśmy ją. Tutaj można zweryfikować dane wyjściowe wyżej wymienionego kodu.

Wniosek

W tym artykule zbadaliśmy powody uzyskania błędu „Brak funkcji dopasowania dla wywołania” i jak to rozwiązać. Ilekroć otrzymujemy ten błąd, musimy sprawdzić parametry wymaganych metod, a także ich typ danych. Popełniamy błędy, podając argumenty do argumentów funkcji. Niezasło parametry do funkcji. Możemy być zobowiązani do podania dopasowanego parametru do określonej metody. Lub musimy dodać nową funkcję z tym samym typem danych. Po sprawdzeniu i dodaniu odpowiednich parametrów do funkcji w programie, błąd „nie zostanie rozwiązany funkcja dopasowania”.