запрос члена "X" в чем-то, кроме структуры или союза
я программировал самобалансирующегося робота, я пишу код в vscode, используя расширение platformio.
когда я помещаю код, который мне нужен, чтобы получить угол из гироскопа в другом файле (с именем angle.c) и включаю его в основную программу, ide выдает ошибку, в каждой строке я использую библиотеку Wire в angular.c, однако тот же код скопируйте и вставьте в основную программу, и он заработает.
PS the angle.c — это просто файл функций и не имеет никакого класса.
@Allaw Hussein, 👍0
Обсуждение1 ответ
Лучший ответ:
Файл .c скомпилирован компилятором C. Если вы включите файл Wire.h, содержащий определение класса, компилятор C не поймет его и выдаст ошибки.
Если в вашем файле angular.c нет кода C, несовместимого с C++, измените расширение файла на .cpp, и он будет скомпилирован компилятором C++.
Проверьте команду при компиляции angle.c. Это тот самый компилятор? Вместо этого попробуйте расширение .cpp., @Mikael Patel
компилятор проверен, попробую расширение .cpp, @Allaw Hussein
вы не можете включить Wire.h в .c . Wire.h определяет класс, @Juraj
то есть вы правы, нет, пожалуйста, опубликуйте это как ответ, чтобы я мог его принять, @Allaw Hussein
решение состоит в том, чтобы изменить расширение на .cpp, потому что Wire.h определяет классы, @Allaw Hussein