Это статическая / шаблонная функция, которую я имею:
template<class T>
static T *createWidget(Vec pos, Module *module, ModuleWidget *moduleWidget, int paramId, float minValue, float maxValue, float defaultValue) {
T *widget = ParamWidget::create<T>(pos, module, paramId, minValue, maxValue, defaultValue);
moduleWidget->mRandomModeWidgets[paramId] = widget;
widget->Module = module;
widget->ModuleWidget = moduleWidget;
return widget;
}
Но я бы хотел разместить объявление на .h
, а определение на .cpp
.
Пробовал:
template<class T>
static T *createWidget(Vec pos, Module *module, ModuleWidget *moduleWidget, int paramId, float minValue, float maxValue, float defaultValue);
А чем:
template<class T>
static T *MyClasss:createWidget(Vec pos, Module *module, ModuleWidget *moduleWidget, int paramId, float minValue, float maxValue, float defaultValue) {
T *widget = ParamWidget::create<T>(pos, module, paramId, minValue, maxValue, defaultValue);
moduleWidget->mRandomModeWidgets[paramId] = widget;
widget->Module = module;
widget->ModuleWidget = moduleWidget;
return widget;
}
Но там написано здесь не может быть указан класс хранения .
Где я не прав?