Статический спецификатор класса памяти должен использоваться во всех объявлениях объектов и функций, которые имеют внутреннее рычажное устройство
Статический спецификатор класса памяти должен использоваться во всех объявлениях объектов и функций, которые имеют внутреннее рычажное устройство.
Если вы не используете static
спецификатор последовательно во всех объявлениях объектов с внутренним рычажным устройством, вы можете объявить тот же объект с внешним и внутренним рычажным устройством.
В этой ситуации рычажное устройство следует за более ранней спецификацией, которая отображается (Стандарт C99, Раздел 6.2.2). Например, если более ранняя спецификация указывает на внутреннее рычажное устройство, объект имеет внутреннее рычажное устройство даже при том, что последняя спецификация указывает на внешнее рычажное устройство. Если вы заметите одну только последнюю спецификацию, вы можете ожидать в противном случае.
Средство проверки правила обнаруживает ситуации где:
Тот же объект объявляется многократно с различными спецификаторами устройства хранения данных.
Та же функция объявлена и задана с различными спецификаторами устройства хранения данных.
Статический спецификатор класса памяти должен использоваться во всех объявлениях объектов и функций, которые имеют внутреннее рычажное устройство.
Если вы ожидаете нарушение правила, но не видите его, обратитесь к Кодированию Стандартных Нарушений, Не Отображенных.
Группа: объявления и определения |
Категория: необходимый |
Категория AGC: необходимый |
Язык: C90, C99 |