我有这个方法:
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>)
?我有子类名称的枚举,该方法是为其创建的,但我真的不知道如何在这里使用它……
最佳答案
正如@chris 所说,只需将其指定为模板参数即可。
QList<SettingItem> settingItems = DatabaseManager::comboListToItemsList<SettingItem>(result.first);
关于c++ - 如何帮助编译器推导模板参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24984408/