Неправильные аргументы к offsetof макрос вызывает неопределенное поведение
Этот дефект происходит, когда вы передаете аргументы offsetof макрос, для которого не задано поведение макроса.
offsetof макрос:
offsetof(classType, aMember)
aMember с начала объекта типа classType. Для использования в offsetof, classType и aMember имейте определенные ограничения:
classType должен быть стандартный класс макета.
Например, это не должно иметь virtual функции членства. Для получения дополнительной информации о требованиях для стандартного класса макета смотрите C++, названный требованиями: StandardLayoutType.
aMember не должно быть статическим.
aMember не должна быть функция членства.
Средство проверки отмечает использование offsetof макрос, где аргументы нарушают один или несколько из этих ограничений.
Нарушение ограничений на аргументы offsetof макрос приводит к неопределенному поведению.
Используйте offsetof макрос только на нестатических элементах данных стандартного класса макета.
Результат детализирует состояние который ограничение на offsetof макрос нарушен. Зафиксируйте нарушение.
| Группа: Программирование |
| Язык: C++ |
| Значение по умолчанию: На для рукописного кода, прочь для сгенерированного кода |
Синтаксис командной строки:
OFFSETOF_MISUSE |
| Удар: носитель |