Here's my code:
template <class M, class P>
struct SliderMenuItem : rack::ui::MenuItem {
struct Slider : rack::ui::Slider {
Slider(M *module) {
quantity = new P(module);
box.size.x = 200.0f;
}
virtual ~Slider() {
delete quantity;
}
};
M *pModule;
SliderMenuItem(M *module, const char *textMenu) : pModule(module) {
this->text = textMenu;
this->rightText = RIGHT_ARROW;
}
};
template <class M, class P>
struct DelaySliderMenuItem : SliderMenuItem<M, P> {
DelaySliderMenuItem(M *module, const char *textMenu) : SliderMenuItem<M, P>(module, textMenu) {
}
Menu *createChildMenu() override {
Menu *menu = new Menu;
menu->addChild(new SliderMenuItem<M, P>::Slider(pModule));
return menu;
}
};
but it doesn't compile, it says: error: expected type-specifier menu->addChild(new SliderMenuItem<M, P>::Slider(pModule));
What's wrong with this nested class from Parent template access?