AUTOSAR C++ 14 Rule A16-7-1

#pragma директива не должна использоваться

Описание

Управляйте определением

#pragma директива не должна использоваться.

Объяснение

Использование #pragma директива в вашем коде приводит к заданному реализацией поведению. Направляющая сила также не поддерживаться определенными компиляторами.

Поиск и устранение проблем

Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.

Примеры

развернуть все

//header.h
#pragma once //Noncompliant

#ifndef HEADER_H_ //Compliant
#define HEADER_H_
// ...
// body of header file
//..
#endif

#pragma once директива предотвращает включение header.h несколько раз. Однако, если вы копируете header.h в несколько модулей проекта директива может или не может обработать копии как тот же файл в зависимости от реализации. Чтобы избежать двойных определений, используйте #ifndef включайте защиту вместо этого.

Проверяйте информацию

Группа: 16 директив предварительной обработки
Категория: необходимый, автоматизированный
Введенный в R2019b