Есть вот такой класс:
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 файле
onReceive? – HolyBlackCat Feb 14 '24 at 03:39