Kas te ei määratle c-stiilis variadic funktsiooni?

Sisukord:

Kas te ei määratle c-stiilis variadic funktsiooni?
Kas te ei määratle c-stiilis variadic funktsiooni?
Anonim

Järelikult annab käitusaegne väljakutse C-stiilis variadic-funktsioonile, mis edastab sobimatuid argumente, määratlemata käitumise. … Sellist määratlemata käitumist saab ära kasutada suvalise koodi käivitamiseks.

Mis on varieeruv funktsioon C-s?

Variaadilised funktsioonid on funktsioonid, mis võivad võtta muutuva arvu argumente. C-programmeerimises lisab variadic-funktsioon programmile paindlikkust. See võtab ühe fikseeritud argumendi ja seejärel saab edastada suvalise arvu argumente.

Kas variadic-funktsioonid on halvad?

Põhjused on järgmised: Malli variadic funktsioonid teavad nii oma argumentide arvu kui ka tüüpe. Need on tüübikindlad, ei muuda nende argumentide tüüpe.

Kuidas deklareerida variadic funktsiooni C++-s?

Variadic funktsioonid on funktsioonid (nt std::printf), mis võtavad muutuva arvu argumente. Variadic funktsiooni deklareerimiseks ilmub parameetrite loendi järele ellips, nt. int printf(const char form…);, millele võib eelneda valikuline koma.

Kuidas edastada variadic parameetreid teisele funktsioonile?

Te ei saa variadic argumente variadic-funktsioonile edastada. Selle asemel peate kutsuma funktsiooni, mis võtab argumendina va_list. Standardne teek pakub printf ja scanf variante, mis võtavad va_list; nende nimedel on eesliide v.

Soovitan: