为了这个函数模板不对?解决办法
为了这个函数模板不对?
我想写一个函数模板,输入是一个容器,输出容器的第一个数。但是如果使用指向迭代器的指针 pIter,就无法解引,这是为什么呢?
template <typename C> void print1st(const C& container)
{
if(container.size() >= 2)
{
typename C::const_iterator* pIter = &(container.begin());
typename C::const_iterator iter(container.begin());
std::cout<<*iter<<endl;
//std::cout<<*(*pIter)<<endl;迭代器无法解引
}
}
------解决方案--------------------
我想写一个函数模板,输入是一个容器,输出容器的第一个数。但是如果使用指向迭代器的指针 pIter,就无法解引,这是为什么呢?
template <typename C> void print1st(const C& container)
{
if(container.size() >= 2)
{
typename C::const_iterator* pIter = &(container.begin());
typename C::const_iterator iter(container.begin());
std::cout<<*iter<<endl;
//std::cout<<*(*pIter)<<endl;迭代器无法解引
}
}
------解决方案--------------------
- C/C++ code
typename C::const_iterator* pIter = &(container.begin());