Подходит ли этот макрос для описания литерала UUID / GUID на основе массива? - PullRequest
0 голосов
/ 27 мая 2020

Мне нужно реализовать тип UUID или GUID в «plain C», аналогичный стандартным или примитивным типам, который позволяет использовать литералы.

Я использую;

typedef
  uint32_t uuid[4];

И , Я пытаюсь использовать литерал составного массива в макросе:

#define UUID_C(A,B,C,D) ((uint32_t[4]) {A,B,C,D})

Итак, я могу объявить sonething как;

void DoSomething(uuid ID) { ... }

int main(...)
{
  DoSomething(UUID_C(0xFF, 0xA5, 0x47, 0x7D));
}

Я пробовал другие реализации типа UUID, например a struct или объект, или другие массивы.

Есть идеи?

...