MSV C 2019: «размер массива должен быть больше нуля» - PullRequest
0 голосов
/ 28 мая 2020

Я перенес (работающий) старый проект в MSV C 2019, используя его файл .dsw. Кажется, что go нормально, но при сборке я получаю сообщение об ошибке (показанное в заголовке). Ошибка произошла в "winnt.h". Примечание. Я не объявлял никаких массивов нулевой длины.
Как это исправить?

1 Ответ

1 голос
/ 29 мая 2020

Несмотря на полностью вводящее в заблуждение сообщение об ошибке , проблема не имеет ничего общего с массивом нулевого размера. Скорее это проблема упаковки структуры. Чтобы исправить это:

Решение № 1

Добавьте следующую строку перед включением windows .h

  #define WINDOWS_IGNORE_PACKING_MISMATCH
  #include <windows.h>  

Решение № 2

Измените упаковку в своем проекте, используя
Project -> Properties -> C / C ++ -> CodeGeneration -> Struct Member Alignment = "8 Bytes"

...