MISRA C++:2008 Rule 3-3-2

Если функция имеет внутреннее редактирование, все повторные объявления должны включать в себя статический спецификатор класса памяти

Описание

Определение правила

Если функция имеет внутреннее редактирование, все повторные объявления должны включать в себя статический спецификатор класса памяти.

Объяснение

Если объявление функции имеет static спецификатор класса памяти, он имеет внутреннее редактирование. Последующие редекларации функции имеют внутреннее редактирование даже без static спецификатор.

Однако, если вы не задаете static ключевое слово явным образом не сразу ясно из объявления, имеет ли функция внутреннее редактирование.

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

Если вы ожидаете нарушения правил, но не видите его, обратитесь к разделу «Стандартные нарушения кодирования не отображаются».

Примеры

расширить все

static void func1 ();
static void func2 ();

void func1() {}  //Noncompliant
static void func2() {}

В этом примере функция func1 объявлен static но определено без static спецификатор.

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

Группа: Основные концепции
Категория: Требуемая
Введенный в R2013b