¿Cómo puedo pasar una matriz como parámetros a una función vararg?
Tengo un código que se parece a esto:
uint8_t activities[8];
uint8_t numActivities = 0;
...
activities[numActivities++] = someValue;
...
activities[numActivities++] = someOtherValue;
...
switch (numActivities)
{
0 : break;
1 : LogEvent(1, activities[0]); break;
2 : LogEvent(1, activities[0], activities[1]); break;
3 : LogEvent(1, activities[0], activities[1], activities[2]); break;
// and so on
}
donde LogEvent () es una función de varargs.
¿Hay una manera más elegante de hacer esto?
[Actualización] Aplogies para @ 0x69 et al. Omito decir que hay muchos casos en los que LogEvent () no pudo tomar una matriz como parámetro. Lo siento.