私はこのように見えるいくつかのコードを持っています:
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
}
ここで、LogEvent()はvarargs関数です。
これを行うためのより洗練された方法はありますか?
[更新]@0x69他への謝罪。LogEvent()が配列をパラメータとして受け取れない場合が多いとは言いませんでした。ごめん。