redeclared as different kind of symbol ошибка при компиляции
- Войдите на сайт для отправки комментариев
Втр, 23/06/2020 - 22:37
//возможно нужно было кидать в раздел для новичков
написал код с массивом в котором храню текст , а текст хранится только в String и еще вроде в char , поэтому поставил тип массива String , но при компиляции выдает - redeclared as different kind of symbol , закинул в переводчик - переоформленный как другой вид символа , насколько я понял он не считает мой текст за String , хочется в ответе конкретного что не так и как исправить. спасибо.
#include <iarduino_OLED.h> // Подключаем библиотеку iarduino_OLED. iarduino_OLED myOLED(0x3C); // адрес для работы с дисплеем по I2c #define CLK 2 //пин энкодера #define DT 3//пин энкодера #define SW 4//пин энкодера #include "GyverEncoder.h" //энкодер Encoder enc(CLK, DT, SW);//подключаем энкодер String menu []= {"добавить канал","удалить канал","удалить все каналы","инф. канала"}; byte oldP=1; byte nowP=0; extern uint8_t SmallFontRus[]; void setup() { // put your setup code here, to run once: myOLED.begin(); // инициализация работы с дисплеем Serial.begin(9600); attachInterrupt(0, isrCLK, CHANGE); // прерывание на 2 пине! CLK у энка attachInterrupt(1, isrDT, CHANGE); // прерывание на 3 пине! DT у энка myOLED.setFont(SmallFontRus); myOLED.setCoding(TXT_UTF8); } void isrCLK() { enc1.tick(); // отработка в прерывании } void isrDT() { enc1.tick(); // отработка в прерывании } void loop() { // put your main code here, to run repeatedly: myOLED.print("loop"], OLED_C, 31); while (1){ if (enc.isHolded()==1){ myOLED.clrScr(); menu (); } } } void menu () { if (oldP>nowP){ myOLED.invText(); myOLED.print(menu [nowP], OLED_C, 31); } else { myOLED.invText(false); myOLED.print(menu [oldP], OLED_C, 31); } // 2 строчка if (oldP<nowP){ myOLED.invText(); myOLED.print(menu [nowP], OLED_C, 31); myOLED.invText(false); } else { myOLED.invText(false); myOLED.print(menu [oldP], OLED_C, 47); } for (byte i=0 ;i<255;i++){ delay (6); if (isRight()==1){ oldP=nowP; nowP++; if (nowP>menu.count){ nowP=0 } } if (isLeft()==1){ oldP=nowP; if (nowP==0){ nowP=menu.count; } else{ nowP=nowP-1; } } if (isHolded()==1){ myOLED.clrScr(); loop() ; } } } loop() ; }
строка 41
у вас массив в строке 8 и процедура в строке 41 обе называются menu.
переименуйте что-нить
мда, тупанул.спасибо!