我有这个方法:
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)
?我有创建方法的子类名称的枚举,但是我真的不知道如何在这里使用它...
只需将其指定为模板参数,就像@chris所说的那样.
QList<SettingItem> settingItems = DatabaseManager::comboListToItemsList<SettingItem>(result.first);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
61 次 |
| 最近记录: |