Я использую библиотеку mbed и хочу присоединить функцию-член к Ticker
(вызывает функцию обратного вызова на регулярном интервале), который также является членом. У меня могут быть экземпляры множителей моего класса, и я бы хотел, чтобы каждый из них мог управлять своим собственным Ticker
и позволять функции обратного вызова обрабатывать соответствующие данные.Правильный конструктор шаблонов для MBED Обратный вызов функции-члена
Код:
* header */
class MyClass {
uint16_t time;
Ticker ticker;
void Init();
void SendMessage();
};
/* source */
void MyClass:: SendMessage() {
}
void MyClass::Init() {
ticker.attach(Callback<MyClass>(this, &MyClass::SendMessage), time);
}
Это дает мне invalid use of incomplete type 'class mbed::Callback<MyClass>'
Почему MyClass должна быть полным для обертки для указателя функции члена? Я пропустил что-то фундаментальное или слишком зависим от реализации класса Callback
?
даенный. И уточненное название вопроса, так как оно не было на самом деле проблемой неполного типа. – ptpaterson