Di conseguenza, una chiamata di runtime a una funzione variadica in stile C che passa argomenti inappropriati produce comportamento indefinito. … Tale comportamento indefinito potrebbe essere sfruttato per eseguire codice arbitrario.
Cos'è la funzione variadica in C?
Le funzioni variabili sono funzioni che possono richiedere un numero variabile di argomenti. Nella programmazione C, una funzione variadica aggiunge flessibilità al programma. Richiede un argomento fisso e quindi è possibile passare un numero qualsiasi di argomenti.
Le funzioni variadiche non sono valide?
Le ragioni sono: Le funzioni variadiche del modello conoscono sia il numero che il tipo dei loro argomenti. Sono a prova di tipo, non cambiano il tipo dei loro argomenti.
Come si dichiara una funzione variadica in C++?
Le funzioni variabili sono funzioni (es. std::printf) che accettano un numero variabile di argomenti. Per dichiarare una funzione variadica, viene visualizzato un punto di sospensione dopo l'elenco dei parametri, ad es. int printf(const char format…);, che può essere preceduto da una virgola facoltativa.
Come si passano i parametri variadici a un' altra funzione?
Non puoi passare gli argomenti variadici a una funzione variadica. Invece, devi chiamare una funzione che accetta una va_list come argomento. La libreria standard fornisce varianti di printf e scanf che accettano un va_list; i loro nomi hanno il prefisso v.