模板类中使用iterator成员出错的解决办法

简介:
今天写一个模板类,出于的目的是要写的模板类原本是两个管理类,里面除了被管理的类不同之外其他全部相同,但是今后可能两者会被扩充,如果写成一个就不好的。
后来想想还是把它改写成为一个模板类才行。
在类当中有一个std::list的成员,我要定义一个访问器:
 std::list<T*>::iterator begin()  {return list.begin();};


但是结果是出现类似如下的编译错误:
error: type `std::vector<T, std::allocator<_CharT>; >;' is not derived from type `Record<T>;'
error: ISO C++ forbids declaration of `iterator' with no type

后来查到了,原来要在之前加一个  typename
正确代码如下:
typename std::list<T*>::iterator iter;
目录
相关文章
|
4月前
|
编译器
【Bug记录】list模拟实现const迭代器类
【Bug记录】list模拟实现const迭代器类
|
4月前
|
编译器 C++
virtual类的使用方法问题之静态和非静态函数成员在C++对象模型中存放如何解决
virtual类的使用方法问题之静态和非静态函数成员在C++对象模型中存放如何解决
|
4月前
【Bug记录】模板生成错误:不属于vector的成员
【Bug记录】模板生成错误:不属于vector的成员
|
6月前
|
算法 Linux C语言
7.学习STL和string类:版本、组件、构造、操作及应用
7.学习STL和string类:版本、组件、构造、操作及应用
|
缓存 算法 编译器
【C#本质论 十】合式类型(一)重写Object成员及操作符重载(上)
【C#本质论 十】合式类型(一)重写Object成员及操作符重载(上)
79 0
|
缓存 算法 C#
【C#本质论 十】合式类型(一)重写Object成员及操作符重载(下)
【C#本质论 十】合式类型(一)重写Object成员及操作符重载(下)
101 0
|
C++ 容器
C++ vector 赋值、删除、排序类之外的其他函数
C++ vector 赋值、删除、排序类之外的其他函数
119 0
指针的基本用法和注意事项
指针的基本用法的详细说明
128 0
指针的基本用法和注意事项
|
编译器 Linux C语言
关于 QtCreartor编写纯C++程序调用不到C++某些标准库和枚举以及运行错误 的解决方法
关于 QtCreartor编写纯C++程序调用不到C++某些标准库和枚举以及运行错误 的解决方法
关于 QtCreartor编写纯C++程序调用不到C++某些标准库和枚举以及运行错误 的解决方法
|
Kotlin 索引
【Kotlin】Kotlin enum 枚举类 ( 常用用法 | 初始化成员变量 | 实现抽象方法 | 实现接口 | 获取名称和位置索引 | 调用枚举常量方法 )
【Kotlin】Kotlin enum 枚举类 ( 常用用法 | 初始化成员变量 | 实现抽象方法 | 实现接口 | 获取名称和位置索引 | 调用枚举常量方法 )
499 0