Да, я уже понял после первых комментарий про кириллическую «а»
Спасибо. Понять не могу КАК она там могла оказаться одна?
Однако проблема возникла из-за того, что эту букву отчего то принимал компиллятор ардуиновского IDE, но только с выставленными платами esp8266, с другими любыми ошибка есть . Программа изначально писалась и компиллировалась только для esp8266 и только на этоих версиях IDE и поддержки esp8266. Потому я и не понял смысла выставляемой им ошибки при компилляции для для esp32. Видимо какой то глюк именно моих версий для IDE и семейства esp8266.
Если есть сомнения относительно описанного мной , могу в ютюб выложить неразрывный ролик с двумя коммилляциями.
Огорчило что b707 к мнению которого я всегода отномился с уважением, сразу записал меня в обманщики.
Не обращай внимания. У меня была подобная ситуация - в разных версиях ИДЕ один и тот же код исполнялся с разным временем, при чем сильно разным - порядка 30%. Просил проверить форумчан - у них этот глюк не воспроизводился.
«единственно истинный тип, впрямую связанный с типом bool, который определен стандартами языка С++, это именно BOOLEAN. А BOOL это не что иное, как «typedef int BOOL;»»
На самом деле всё в точности наоборот.
Вот Вам таблица ключевых слов языка (стандарт ISO/IEC 14882:2020 стр. 18)
Как видите в стандарте языка есть ключевое слово bool, но нет ключевого слова boolean.
Обычно, в компиляторах boolean поддерживается, но это расширение стандарта. Использовать его можно, но не надо удивляться, если опять начнётся “в ESP работает, а PSE – нет”. Зачем отходить от стандарта на ровном месте, где это никаких вкусняшек не даёт, правда?
bool flag;
void setup() {
Serial.begin(115200);
for (int i = 0; i < 1000; i++) {
flag = flag + 1;
Serial.print(i);
Serial.print(" >- flag = ");
Serial.println(flag);
}
}
void loop() {
}
0 >- flag = 1
1 >- flag = 1
2 >- flag = 1
3 >- flag = 1
4 >- flag = 1
5 >- flag = 1
6 >- flag = 1
7 >- flag = 1
8 >- flag = 1
9 >- flag = 1
10 >- flag = 1
11 >- flag = 1
12 >- flag = 1
13 >- flag = 1
14 >- flag = 1
15 >- flag = 1
16 >- flag = 1
Вполне возможно. Если у компилятора есть “расширенный алфавит” и это включено, то почему бы и нет. Он тогда жрёт юникод и там хоть все переменные по-русски называй.