我无法遍历可能包含任意数量数据结构的模板(列表,向量等)
使用给定的模板有一种可靠的方法来迭代这个吗?我在声明类型时遇到问题,是的,我尝试过“auto”和“auto&”这根本不起作用。谢谢指点。
template<typename ElementType, typename ContainerType>
ElementType findMax(ContainerType& container) {
for (typeid(container).name i = container.begin(); i !=container.end(); ++i){
cout << i;
}
return 10;
}
答案 0 :(得分:2)
让它自动化。
for (auto i = container.begin(); i != container.end(); ++i)
如果您没有C ++ 11,则可以在容器中使用typedef。
for (typename ContainerType::iterator i = container.begin(); i != container.end(); ++i)
请注意,代码并不关心ContainerType
是数组的情况。
另外,我认为你想打印容器的内容,而不是迭代器本身。
cout << *i;