我有这种方法:
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/