Несмотря на полностью вводящее в заблуждение сообщение об ошибке , проблема не имеет ничего общего с массивом нулевого размера. Скорее это проблема упаковки структуры. Чтобы исправить это:
Решение № 1
Добавьте следующую строку перед включением windows .h
#define WINDOWS_IGNORE_PACKING_MISMATCH
#include <windows.h>
Решение № 2
Измените упаковку в своем проекте, используя
Project -> Properties -> C / C ++ -> CodeGeneration -> Struct Member Alignment = "8 Bytes"