====== va_end() ====== va_end ist in der ''[[c:lib:stdarg:]]'' definiert, die in C über ''stdarg.h'', bzw in C++ über ''cstdarg'' eingebunden wird. ===== Funktion ===== va_end() gibt eine Argumenten-Liste ([[va_list]]) wieder frei. ===== Signatur ===== #include void va_end( va_list list ); **list**: Die freizugebende Liste\\ ===== Fehlerquellen ===== Eine mit [[va_start()]] initialisierte Liste muss mit va_end() wieder freigegeben werden, bevor die Funktion verlassen wird. Hierauf ist zu achten, insbesondere, wenn die Funktion mehrere Ausgänge besitzt. ===== Beispiel ===== #include #include int add( int first, ... ) { va_list list; va_start( list, first ); int result = first; int temp; do { temp = va_arg( list, int ); result += temp; } while( temp > 0 ); va_end( list ); return result; } int main (void) { printf( "Ergebnis: %d\n", add( 1, 2, 3, 4, 5, 0 ) ); return 0; } ===== siehe auch ===== [[start|stdarg]]: [[va_list()]], [[va_start()]], [[va_arg()]]