Задать вопрос
Qubc
@Qubc
Ненавижу полисемию.

Почему нет ошибки при переобъявлении переменной, которая уже объявлена в подключаемом файле?

/*test.h*/
int a;

/*main.c*/
#include "test.h"
int main (void) {
int a;
a++;
return 0;
}

Почему это не считается за redeclaration ?
  • Вопрос задан
  • 54 просмотра
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Разработчик C++
    9 месяцев
    Далее
  • Нетология
    Специалист по информационной безопасности + нейросети
    12 месяцев
    Далее
  • Компьютерная академия «TOP»
    Учебная программа “Разработка программного обеспечения”
    30 месяцев
    Далее
Решения вопроса 1
15432
@15432
Системный программист ^_^
Области видимости разные ж. Одна внутри функции, другая глобальная.

И делая a++ вы инкрементите только временную локальную переменную.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы