<分区>
我想打印 vector 的元素。以下是我的代码。
经过搜索,我发现了以下代码及其工作原理:
for(int i=0;i<vec.size();i++)
cout<<vec[i]<<" ";
但是我们不能使用迭代器来访问元素吗?如果可能,怎么做?
<分区>
我想打印 vector 的元素。以下是我的代码。
经过搜索,我发现了以下代码及其工作原理:
for(int i=0;i<vec.size();i++)
cout<<vec[i]<<" ";
但是我们不能使用迭代器来访问元素吗?如果可能,怎么做?
最佳答案
typename
丢失:
template <typename T>
void printArray(const std::vector<T>& a)
{
for (typename std::vector<T>::const_iterator it = a.begin(); it != a.end(); ++it) {
// ...
}
}
在c++11中,你可以简单的写:
template <typename T>
void printArray(const std::vector<T>& a)
{
for (const auto& e : a) {
std::cout << e << std::endl;;
}
}
关于c++ - 使用模板传递时访问 vector 元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34928590/