Область видимости переменной в C++
Давайте теперь разберем, где видно имя, объявленное внутри условия.
Имя, объявленное внутри фигурных скобок, видно только там. После закрывающей скобки переменной уже нет.
Пусть переменная объявлена внутри if.
Снаружи этого имени нет, программа не собирается:
if (true) {
int num = 1;
}
std::cout << num << "\n"; // ошибка
Объявим переменную снаружи и запишем значение внутри ветки:
int num = 0;
if (true) {
num = 1;
}
std::cout << num << "\n"; // выведет 1
Автор кода хотел проверить, достиг ли возраст 18 лет. Код не собирается. Исправьте ошибку:
int num = 17;
if (num >= 18) {
bool flag = true;
} else {
bool flag = false;
}
std::cout << flag << "\n";