Загадочные ошибки компилятора
Я получаю сообщение об ошибке:
left_hand:3:20: error: expected ']' before ';' token
#define HAND_ROWS 5;
^
в этом коде:
#include <Keyboard.h>
#define HAND_ROWS 5;
#define HAND_COLS 6;
#define ROW_PINS {9, 8, 7, 6, 5};
#define COL_PINS {10, 16, 14, 15, 18, 19};
#define LOOP_SPEED = 10;
const char keymap[HAND_ROWS][HAND_COLS] = {{0xB1, '1', '2', '3', '4', '5'},
{0xB3, 0x81, 'q', 'w', 'e', 'r'},
{'6', 0x80, 'a', 's', 'd', 'f'},
{'7', 'z', 'x', 'c', 'v', 'b'},
{'h', 'j', 0x82, ' ', 'k', 'l'}};
boolean pressedKeys;
int keymapIndex;
Помогите, пожалуйста? Это не имеет смысла для меня... Если я попытаюсь использовать Keyboard.LEFT_SHIFT и эквивалентные константы для шестнадцатеричных кодов в раскладке клавиш, они сообщат мне «ожидаемый неквалифицированный идентификатор перед числовой константой». Что это вообще значит? Я так потерялся...
@Lowell Camp, 👍0
Обсуждение1 ответ
Лучший ответ:
Вы не должны завершать #define
с помощью ;
. Точки с запятой предназначены для операторов C и C++. #define
– это оператор препроцессора.
#define
создает буквальную замену строки, поэтому при ее использовании вы получаете следующее:
const char keymap[5;][6;] = {...
что, конечно же, неверно.
Спасибо, что заметили мою ошибку новичка!, @Lowell Camp
Это не ошибка новичка... Я сам делал это время от времени... пальцы двигаются автоматически..., @Majenko
Думаю, это судьба программистов Java, которые переходят на C, или, по крайней мере, это касается меня., @Lowell Camp
@LowellCamp Или судьба людей, которые прыгают между тремя или четырьмя языками программирования одновременно - и программируют в предрассветные утренние часы;), @Majenko
- Arduino Pro Micro, получить данные с контакта Tx?
- Отправка мультимедийных клавиш клавиатуры с помощью библиотеки клавиатур
- Распиновка аналога Arduino Pro Micro
- Не удается загрузить скетч - avrdude: butterfly_recv(): programmer is not responding
- Keyboard.h: Нет такого файла или каталога - Arduino pro micro (leonardo)
- Arduino Pro Микро кирпичился?
- Arduino Pro Micro не распознается ПК
- Arduino Pro Micro – выключить светодиоды
В #define точка с запятой не нужна., @Dougie