Компилятор C++ не распознает «класс» в заголовочном файле [закрыто] ⇐ C++
Компилятор C++ не распознает «класс» в заголовочном файле [закрыто]
Я занимаюсь разработкой для STM32 в STM32CubeIDE с использованием C++, и у меня возникла ошибка с указанием неизвестного типа «класс». Я уже просматривал другие сообщения о SO по этой проблеме, но ни одно из их решений не помогло мне. Я получаю его в двух заголовочных файлах, один из которых включает другой (не циклическая зависимость). Конкретные ошибки, которые я получаю, следующие:
../Core/Inc/ws2813b_controller.h:32:1: ошибка: неизвестное имя типа «класс»
../Core/Inc/ws2813b_controller.h:32:25: ошибка: ожидается '=', ',', ';', 'asm' или '__attribute__' перед токеном '{'
../Core/Inc/led_strip.h:13:1: ошибка: неизвестное имя типа «класс»
../Core/Inc/led_strip.h:13:16: ошибка: ожидается '=', ',', ';', 'asm' или '__attribute__' перед токеном '{'
Файлы заголовков реализуются в исходных файлах C++.
Вот первый файл заголовка:
#ifndef INC_LED_STRIP_H_ #define INC_LED_STRIP_H_ #include класс LedStrip { частный: TIM_HandleTypeDef* таймер; Контроллер WS2813BController*; публика: LedStrip(TIM_HandleTypeDef* _timer); void Progress_bar_single_color (uint8_t num_filled, enum COLOR color); недействительный очистить(); недействительная отправка(); }; #endif А вот и второе:
#ifndef INC_WS2813B_H_ #define INC_WS2813B_H_ #include "stm32f1xx_hal.h" #include "math.h" #define MAX_LED 10 #define USE_BRIGHTNESS 1 структура RGB { uint8_t р; uint8_t г; uint8_t б; }; перечислить ЦВЕТ { ЗЕЛЕНЫЙ, ЖЕЛТЫЙ, КРАСНЫЙ, ФИОЛЕТОВЫЙ, ГОЛУБОЕ НЕБО, ПРОЗРАЧНЫЙ }; класс WS2813BController { частный: TIM_HandleTypeDef* таймер; uint8_t data_sent_flag; uint8_t LED_Data[MAX_LED][4]; uint8_t LED_Mod[MAX_LED][4]; uint16_t pwmData[(24*MAX_LED) + 50]; публика: WS2813BController(TIM_HandleTypeDef* _timer); void set_led (int LEDnum, int Red, int Green, int Blue); void set_brightness (интервал яркости); // 0-45 недействительная отправка (); void hal_tim_pwm_pulse_finished_callback (TIM_HandleTypeDef *htim); void color_to_rgb (struct RGB* rgb, enum COLOR color); void set_led_from_rgb (int LEDnum, struct RGB* rgb); void set_led_from_color_name (int LEDnum, enum COLOR color); недействительный очистить(); }; #endif Что может быть причиной этого? Я часами вырывала себе волосы, пытаясь это исправить.
Я занимаюсь разработкой для STM32 в STM32CubeIDE с использованием C++, и у меня возникла ошибка с указанием неизвестного типа «класс». Я уже просматривал другие сообщения о SO по этой проблеме, но ни одно из их решений не помогло мне. Я получаю его в двух заголовочных файлах, один из которых включает другой (не циклическая зависимость). Конкретные ошибки, которые я получаю, следующие:
../Core/Inc/ws2813b_controller.h:32:1: ошибка: неизвестное имя типа «класс»
../Core/Inc/ws2813b_controller.h:32:25: ошибка: ожидается '=', ',', ';', 'asm' или '__attribute__' перед токеном '{'
../Core/Inc/led_strip.h:13:1: ошибка: неизвестное имя типа «класс»
../Core/Inc/led_strip.h:13:16: ошибка: ожидается '=', ',', ';', 'asm' или '__attribute__' перед токеном '{'
Файлы заголовков реализуются в исходных файлах C++.
Вот первый файл заголовка:
#ifndef INC_LED_STRIP_H_ #define INC_LED_STRIP_H_ #include класс LedStrip { частный: TIM_HandleTypeDef* таймер; Контроллер WS2813BController*; публика: LedStrip(TIM_HandleTypeDef* _timer); void Progress_bar_single_color (uint8_t num_filled, enum COLOR color); недействительный очистить(); недействительная отправка(); }; #endif А вот и второе:
#ifndef INC_WS2813B_H_ #define INC_WS2813B_H_ #include "stm32f1xx_hal.h" #include "math.h" #define MAX_LED 10 #define USE_BRIGHTNESS 1 структура RGB { uint8_t р; uint8_t г; uint8_t б; }; перечислить ЦВЕТ { ЗЕЛЕНЫЙ, ЖЕЛТЫЙ, КРАСНЫЙ, ФИОЛЕТОВЫЙ, ГОЛУБОЕ НЕБО, ПРОЗРАЧНЫЙ }; класс WS2813BController { частный: TIM_HandleTypeDef* таймер; uint8_t data_sent_flag; uint8_t LED_Data[MAX_LED][4]; uint8_t LED_Mod[MAX_LED][4]; uint16_t pwmData[(24*MAX_LED) + 50]; публика: WS2813BController(TIM_HandleTypeDef* _timer); void set_led (int LEDnum, int Red, int Green, int Blue); void set_brightness (интервал яркости); // 0-45 недействительная отправка (); void hal_tim_pwm_pulse_finished_callback (TIM_HandleTypeDef *htim); void color_to_rgb (struct RGB* rgb, enum COLOR color); void set_led_from_rgb (int LEDnum, struct RGB* rgb); void set_led_from_color_name (int LEDnum, enum COLOR color); недействительный очистить(); }; #endif Что может быть причиной этого? Я часами вырывала себе волосы, пытаясь это исправить.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Почему невозможно инициализировать статический член класса в теле или в заголовочном файле?
Anonymous » » в форуме C++ - 0 Ответы
- 74 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Как зарегистрировать файлы папки как файловую систему в заголовочном файле?
Anonymous » » в форуме C++ - 0 Ответы
- 53 Просмотры
-
Последнее сообщение Anonymous
-