【发布时间】:2014-04-29 10:56:08
【问题描述】:
我想写一个可以同时接收任何类型的 QList 和 QVector 的函数:
QList<int> iList;
QVector<int> iVector;
QList<double> dList;
QVector<double> dVector;
所有这些类型都必须支持调用
my_func(iList); my_func(iVector); my_func(dList); my_func(dVector);
我的解决方案
template <template <typename Elem> typename Cont>
void my_func(const Cont& cont)
{
qDebug() << cont.isEmpty();
Elem el = cont.first();
qDebug() << el;
}
未编译:
error C2988: unrecognizable template declaration/definition
这样的模板函数的正确形式是什么?
【问题讨论】:
标签: c++ templates sfinae generic-programming qlist