如何帮助编译器推导出模板参数?

sms*_*are 0 c++ templates

我有这个方法:

template <typename Type>
static QList<Type> comboListToItemsList(QList<QList<QVariant>>& comboList) {
    QList<Type> itemsList;
    if (comboList.length() > 0) {
        foreach (QList<QVariant> dbItem, comboList) {
            Type item(dbItem);
            itemsList.append(item);
        }
    }
    return itemsList;
}
Run Code Online (Sandbox Code Playgroud)

当我打电话给它时:

QList<SettingItem> settingItems = 
(QList<SettingItem>) DatabaseManager::comboListToItemsList(result.first);
Run Code Online (Sandbox Code Playgroud)

它"无法推断出模板参数类型".如何通过添加来比较我已经做的更多地帮助编译器

(QList<SettingItem>)
Run Code Online (Sandbox Code Playgroud)

?我有创建方法的子类名称的枚举,但是我真的不知道如何在这里使用它...

Jos*_*uel 5

只需将其指定为模板参数,就像@chris所说的那样.

QList<SettingItem> settingItems = DatabaseManager::comboListToItemsList<SettingItem>(result.first);
Run Code Online (Sandbox Code Playgroud)