Преобразования не должны выполняться между указателем на неполный тип и любым другим типом
Преобразования не должны выполняться между указателем на неполный тип и любым другим типом.
Неполный тип - это тип, не содержащий достаточной информации для определения его размера. Например, оператор struct s; описывает неполный тип, поскольку поля s не определены. Размер переменной типа s невозможно определить.
Преобразования в указатель или из него в неполный тип приводят к неопределенному поведению. Обычно указатель на неполный тип используется для скрытия полного представления объекта. Эта инкапсуляция разрывается, если другой указатель неявно или явно привязан к такому указателю.
Если вы ожидаете нарушения правила, но не видите его, обратитесь к разделу Нарушения стандартов кодирования не отображаются.
| Группа: Преобразования типов указателей |
| Категория: Обязательно |
| Категория СМЖЛ: требуется |