hier wird der funktion "addiere" eine reihe von integern übergeben. va_arg(ap,int) liefert bei jedem aufruf jeweils den nächsten wert. da ich grade selber nicht weiss, wie man das ende der liste erkennt, steht als erster parameter der funktion die anzahl der übergebenen werte. das ... bleibt so stehen, der code compiliert bei mir klaglos.
Code:
#include <stdio.h> // für printf
#include <stdarg.h> // für variable parameterlisten
int addiere(const int anzahl, ...)
{
va_list ap;
int n,result=0;
va_start(ap, anzahl);
for(n=0;n<anzahl;n++)
{
result+=va_arg(ap,int);
}
va_end(ap);
return result;
}
int main()
{
// 5 argumente, nämlich die werte 1-5
int i=addiere(5,1,2,3,4,5);
printf("%d",i);
return 0;
}
vielleicht hilft das, am besten du spielst selbst ein wenig mit dem code.
gruesse
EDIT:
KANN ICH EINE ÜBERLADENE FUNKTION HERNEHMEN UND WAS MUSS ICH INCLUDEN???
nur die ruhe, nicht schreien 
ehrlichgesagt, ich weiss es nicht, weil ich dazu von c++ zuwenig ahnung habe. aber avr-gcc unterstützt (teilweise) c++, also könntest du es einfach mal ausprobieren.
Lesezeichen