Почему компилятор выдает ошибку на этих строках?

Каковы ошибки в следующих строках кода, и как их можно исправить?  

```cpp
#define EB_FAST_TIME 120 

#include <...> 
#include <...> 
#include "GyverOLEDMenu.h" 

EncButton eb(6, 7, 5, INPUT_PULLUP); 

GyverOLED"SSH1106_128x64" oled;       
OledMenu<9, GyverOLED"SSH1106_128x64" menu(&oled); 

void setup() { 
```
  • 2 ноября 2024 г. 17:43
Ответы на вопрос 2
В вашем коде есть несколько ошибок, которые вызывают проблемы при компиляции. Давайте рассмотрим их по порядку: 

1. **Некорректные заголовочные файлы**:
   ```cpp
   #include <...> 
   #include <...> 
   ```
   Вам нужно указать названия заголовочных файлов вместо многоточий. Если вы используете какие-то библиотеки, напишите их точные названия. Например:
   ```cpp
   #include <Wire.h>
   #include <Adafruit_GFX.h>
   ```
   Если вы точно знаете, какие заголовочные файлы нужны для работы с `GyverOLEDMenu`, добавьте их.

2. **Некорректный синтаксис создания объектов**:
   ```cpp
   GyverOLED"SSH1106_128x64" oled;       
   OledMenu<9, GyverOLED"SSH1106_128x64" menu(&oled); 
   ```
   Здесь вы неправильно создаете объект. Нужно использовать оператор `,` для разделения аргументов. Замените строчки на корректные, используя правильный синтаксис:

   ```cpp
   GyverOLED<SSH1106_128x64> oled;       
   OledMenu<9, GyverOLED<SSH1106_128x64>> menu(&oled); 
   ```

   Обратите внимание, что предположительно `<SSH1106_128x64>` — это параметр шаблона класса `GyverOLED`. Убедитесь, что вы используете правильные имена классов и синтаксис в соответствии с документацией библиотеки.

3. **Недостаток других необходимых частей кода**:
   В вашем коде отсутствует часть реализации `setup` и `loop`, также не указаны библиотеки и переменные, которые вы используете. Убедитесь, что другие части кода присутствуют, иначе это также может вызвать ошибки.

Итак, вот исправленная версия вашего кода (включая предполагаемые имена библиотек):

```cpp
#define EB_FAST_TIME 120 

#include <Wire.h> // Пример: поменяйте на нужные заголовки
#include <Adafruit_GFX.h> // Пример: поменяйте на нужные заголовки
#include "GyverOLEDMenu.h" 

EncButton eb(6, 7, 5, INPUT_PULLUP); 

GyverOLED<SSH1106_128x64> oled;       
OledMenu<9, GyverOLED<SSH1106_128x64>> menu(&oled); 

void setup() { 
    // Код инициализации
}

void loop() {
    // Основной код
}
```

Пожалуйста, проверьте документацию библиотеки `GyverOLEDMenu` для точных параметров и типов данных.
Неправильный синтаксис. 
Внимательно изучаем пример и запускаем библиотеку.
Похожие вопросы