由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 请教 C++ std::list iterator 对 template class pointer 的应用问题
相关主题
C++ 菜鸟问一个关于template 的问题。C++ question about template typedef
[菜鸟问题]类模板问题如何取一个list的第i个element
c++ template question:vector::iterator不对
template 类的继承问题template 疑问
C++里get array size的问题 (转载)请教一下这个template function在gcc下要怎么修改
C++中如何引用模板类中的模板函数template
a c++ questionc++ pointers are iterators, why?
template questionSTL感觉实在太变态了
相关话题的讨论汇总
话题: iterator话题: pos话题: std话题: list话题: template
进入Programming版参与讨论
1 (共1页)
g****r
发帖数: 35
1
假定
C
是预定义的 template class
用 list 保存一组 C 指针
std::list*> myList;
如何设计一个 template 函数,在其中采用 iterator 访问 myList 的成员?
template
void f(T& t)
{
std::list*> pos = myList.begin();
std::list*>::iterator pos; // This line give me
error
while (pos != myList.end())
{
(*pos).... blah blah
++pos;
}
}
编译器对 iterator 的定义行报错,如下:
error: parse error before `;' token
替换为
std::_List_iterator*> pos;
在 iMac 上
X****r
发帖数: 3557
2
typename std::list*>::iterator pos;
The compiler has no idea std::list*>::iterator is a type
without knowing what is T.

【在 g****r 的大作中提到】
: 假定
: C
: 是预定义的 template class
: 用 list 保存一组 C 指针
: std::list*> myList;
: 如何设计一个 template 函数,在其中采用 iterator 访问 myList 的成员?
: template
: void f(T& t)
: {
: std::list*> pos = myList.begin();

g****r
发帖数: 35
3
谢回复,的确是这个原因。

【在 X****r 的大作中提到】
: typename std::list*>::iterator pos;
: The compiler has no idea std::list*>::iterator is a type
: without knowing what is T.

b*******e
发帖数: 1
4
问一下, 开始的两行什么意思?
std::list*> pos = myList.begin();
这里的pos 不久应该是iterator么
typename std::list*>::iterator pos;
为什么又declare一次?
1 (共1页)
进入Programming版参与讨论
相关主题
STL感觉实在太变态了C++里get array size的问题 (转载)
一个C++ template的问题C++中如何引用模板类中的模板函数
stl 的 member type 看起来挺头大的a c++ question
讨论 找单链表倒数m的节点 (转载)template question
C++ 菜鸟问一个关于template 的问题。C++ question about template typedef
[菜鸟问题]类模板问题如何取一个list的第i个element
c++ template question:vector::iterator不对
template 类的继承问题template 疑问
相关话题的讨论汇总
话题: iterator话题: pos话题: std话题: list话题: template