我有这个方法:
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;
}
当我打电话给他时:
QList<SettingItem> settingItems =
(QList<SettingItem>) DatabaseManager::comboListToItemsList(result.first);
它“无法推断模板参数类型”。我如何通过添加
来更好地帮助编译器解决问题(QList<SettingItem>)
?我有创建方法的子类名称的枚举,但是我真的不知道如何在这里使用它......
答案 0 :(得分:5)
只需将其指定为模板参数,就像@chris所说。
QList<SettingItem> settingItems = DatabaseManager::comboListToItemsList<SettingItem>(result.first);