Sdílet prostřednictvím


Seznamy argumentů proměnných

Deklarace funkcí, ve kterých poslední člen seznamu deklarací argumentu tři tečky (...) může přebrat proměnný počet argumentů.V těchto případech poskytuje jazyk C++ kontrolu typu pouze pro explicitně deklarované argumenty.Seznamy argumentů proměnných lze použít, pokud je zapotřebí provést funkci tak obecnou, že i počet a typ argumentů se může lišit.Řada funkcí printf je příkladem funkcí, které používají seznamy argumentů proměnných.

Pro přístup k argumentům po těch již deklarovaných, je třeba použít makra obsažená v souboru zahrnutí STDARG.H, jak je popsáno v tématu Funkce se seznamy argumentů proměnných.

Specifické pro Microsoft

Microsoft C++ umožňuje zadat tři tečky jako argument, jsou-li tři tečky posledním argumentem a jsou-li tři tečky před čárkou.Proto je deklarace int Func( int i, ... ); platná, ale int Func( int i ... ); platná není.

Specificka produktu Microsoft END

Deklarace funkce, která přijímá proměnný počet argumentů, vyžaduje alespoň jeden zástupný argument, i když není použit.Není-li tento zástupný symbol zadán, neexistuje žádný způsob, jak získat přístup ke zbývajícím argumentům.

Jsou-li argumenty typu char předány jako argumenty proměnných, jsou převedeny na typ int.Podobně, jsou-li argumenty typu float předány jako argumenty proměnné, jsou převedeny na typ double.Argumenty jiných typů představují objekt běžného povýšení integrálních typů a typů s plovoucí řádovou čárkou.Více informací naleznete v tématu Povýšení integrálních typů.

Viz také

Referenční dokumentace

Deklarace funkcí