Przekazanie parametru do funkcji

0

Witam
Mam problem. Nie wiem jak rozpoznać, czy do funkcji został przekazany parametr będący zmienną czy referencją do owej zmiennej. Muszę napisać dwie funkcje o tej samej nazwie i parametrach (przeładowanie), jedna funkcja będzie wywołana, gdy parametrami będą zmienne, a druga - referencje do tych zmiennych. Funkcje, które zrobiłem nie gryzą się, ale występuje błąd niejednoznaczności.

0

ogolnie zadanie takie jak teraz stawiasz jest po prostu NIEwykonalne, poniewaz w momencie gdy masz 2 zmienne typu int-x oraz int&-y to oraz 2 funkcje raz(int) oraz dwa(int&) to praktycznie dowolna kombinacja funkcja-parametr z nich jest absolutnie mozliwa i rownoprawna pod katem overloadingu

jezeli bardzo sie uprzesz to mozesz przerobic wszystko na template chodzace wg. T=int oraz T=int& (bacz, T=int& a nie T=int oraz T&) i potem uzyc SFINAE wykorzystac fakt, ze nie da sie utworzyc referencji do referencji.. ale.. nie polecam tego teraz

zastanow sie wpierw, czemu w ogole chcesz rozrozniac zwykle 'cos' or referencji-na-'cos'. moze chodzi Ci o modyfkowalnosc? wtedy rozrozniaj po const: funkcja(cos& ) versus funkcja(const cos&)/funkcja(cos) sa 100% rozroznialne i beda wybierac sie wg const/nonconst zmiennej nie wazne czy & czy nie ref

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