Официальный сайт компании Arduino по адресу arduino.cc
Конструктор класса
- Войдите или зарегистрируйтесь, чтобы получить возможность отправлять комментарии
Втр, 19/02/2019 - 19:24
Всем доброго времени суток. Вот пытаюсь изучать ОПП и решил создать библиотеку для совей китайской машинки, но как всегда что-то пошло не так. У меня вылезает проблемы с конструктором: no matching function for call to 'Car::Car(int, int, int, int, int, int)'. Как я задаю конструктор:
Car car(1,2,3,4,5,6);
Это мой класс из файла с разширением ".h"
class Car { public: Car(uint8_t PIN1, uint8_t PIN2, uint8_t PIN3, uint8_t PIN4, uint8_t PINA, uint8_t PINB); // конструктор void Advance(); void Back(); void Right(); void Left(); void SetSpeed(uint8_t Speed); private: uint8_t IN1; uint8_t IN2; uint8_t IN3; uint8_t IN4; uint8_t ENA; uint8_t ENB; };
А это код из файла с разширением "срр", вставлю только конструктор
Car :: Car(uint8_t PIN1, uint8_t PIN2, uint8_t PIN3, uint8_t PIN4, uint8_t PINA, uint8_t PINB) { IN1 = PIN1; IN2 = PIN2; IN3 = PIN3; IN4 = PIN4; ENA = PINA; ENB = PINB; }
Расчитываю на вашу мудрость, заранее благодарю.
Полагаю, что поможет создание функции конструктора с параметрами типа int, из которого будет вызываться существующая функция конструктора с параметрами типа uint8_t.
Мда. А вопросов будет еще вагон и маленькая тележка. Классы это еще не ООП, а так же вы банально не умеете составлять библиотеки.http://arduino.ru/Hacking/LibraryTutorial
Я кстати по этому примеру делал, только с arduino.cc . А проблема была совсем в другом он не воспринимал переменные с названием PIN1,PIN2..., а вот переменные a,b,c... он сразу "понял"
Ок!
Не ок
и почему так?
Попробуйте обходится без написания библиотек, пока не научитесь писать классы без ошибок.
Я кстати по этому примеру делал, только с arduino.cc . А проблема была совсем в другом он не воспринимал переменные с названием PIN1,PIN2..., а вот переменные a,b,c... он сразу "понял"
Оказывается, что не только Вам нравятся такие имена, но и создателям платформы Arduino: