0

Есть вот такой класс:

class Lora {
    public:
        template<typename T>
        void onReceive(std::function<void(T t)> cb1);
};

Тело onReceive:

template<typename T>
void Lora::onReceive(std::function<void(T t)> cb1) {

}

Почему у меня не получается сделать вот так?

lora.onReceive<LoraMesh>([](LoraMesh message) {
    info("mac %s", message.toChar());
});

Компилятор ругается, что

undefined reference to `void Lora::onReceive(std::function<void (LoraMesh)>)'


Решение: тело должно быть в .h файле

lampa
  • 18,094

0 Answers0