Почему этот код C++ не вызывает конфликтующую ошибку объявления?C++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Почему этот код C++ не вызывает конфликтующую ошибку объявления?

Сообщение Anonymous »

Почему два разных объявления переменной «t» в одной и той же функции не вызывают конфликтующую ошибку объявления? (Потому что это не так). Можно ли безопасно использовать такой способ использования одного и того же имени для переменной?
Функция hloop() запускается как задача с помощью планировщика. Я использую ESP32, работающий с Arduino IDE.

Код: Выделить всё

void hLoop(void * param) {
time_t startR = NULL;
bool Ok = true;

for (;;) {

preferences.begin("conf", true);
String silent = preferences.getString("silentS", "07:00:00");
preferences.end();

struct tm t;     //  **tm_hour) {
silentM = 1;
}

preferences.begin("conf", true);
silent = preferences.getString("silentE", "19:00:00");
preferences.end();

strptime(silent.c_str(), "%H:%M:%S", &t);

if (t.tm_hour == info->tm_hour) {
silentM = 0;
}

if (f.get() == 0 ) {
if (startR == 0) {
startR = time(NULL);
}

time_t t = time(NULL);   //  ** 1800) {
setN();
Ok = false;
}
} else {
startR = NULL;
Ok = true;
}
}
}
Я ожидал, что при компиляции возникнет конфликтующая ошибка объявления.
Я пытался добавить в код еще одно конфликтующее объявление, подобное этому
р>

Код: Выделить всё

int i=0;
i++;
Serial.print(i);

char i[]="Hello";
Serial.print(i);
в приведенной выше функции, а затем я получил конфликтную ошибку объявления. Так почему бы не с т?

Подробнее здесь: https://stackoverflow.com/questions/785 ... tion-error
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»