warning C4315: bla-bla may not be aligned 8 as expected by the constructor
Начала возникать в некоторых местах, которые я окружил прагма паками (1)
MSDN или как оно сейчас называется — такого варнинга не знает.
Вдогонку — а можно ли через pragma warning запретить warning as error? А то разрешить можно, а запретить — чот не вижу как
Я решил везде, где юзаю pragma pack, выводить сообщение через #pragma pack(show) для диагностики, но теперь и этот варнинг вызывает ошибку. Снять признак варнинг как ошибка не понял как, через /Wd можно отключить сам варнинг, но это не то, что хотелось
ЗЫ А как-то можно, чтобы сообщения pragma message добавлялись в окошко Error List MSVC, но не вызывали ошибку компиляции. А то в Output оно выводится, а в Error List — нет. И перейти на строчку в исходниках никак
Здравствуйте, Marty, Вы писали:
M>warning C4315: bla-bla may not be aligned 8 as expected by the constructor
M>Начала возникать в некоторых местах, которые я окружил прагма паками (1)
Я так понимаю, у тебя внутри структуры, которая сама по себе #pragma pack (1), имеются поля, которые во-первых являются классами с констриктором, во-вторых, сами по себе определены без #pragma pack (1), а в третьих, содержат поля, которые могут потребовать выравнивания на 8 (например, long или указатель). И внутри внешней, упакованной, структуры эти поля с конструкторами оказываются невыровненными на 8. Вот при это тебе и хочет сообщить компилятор.
Здравствуйте, Pzz, Вы писали:
M>>warning C4315: bla-bla may not be aligned 8 as expected by the constructor
M>>Начала возникать в некоторых местах, которые я окружил прагма паками (1)
Pzz>Я так понимаю, у тебя внутри структуры, которая сама по себе #pragma pack (1), имеются поля, которые во-первых являются классами с констриктором, во-вторых, сами по себе определены без #pragma pack (1), а в третьих, содержат поля, которые могут потребовать выравнивания на 8 (например, long или указатель). И внутри внешней, упакованной, структуры эти поля с конструкторами оказываются невыровненными на 8. Вот при это тебе и хочет сообщить компилятор.