关于allocator类的问题
本人正在阅读《Accelerated C++》,一次将书中的一段自定义Vec类(模仿vector)代码用VS2012测试了一下,结果却报错....Vec.h的定义Vec类的部分代码如下(代码用红色标出):
template<class T> class Vec{
private:
/*38行*/allocator<T> alloc; //这一行声明了一个<memory>的allocator类用来分配内存
};//47行
/*
1>c:\users\lenovo\documents\visual studio 2012\projects\zdhproject\zdhproject\vec.h(38): error C2143: 语法错误 : 缺少“;”(在“<”的前面)
1> c:\users\lenovo\documents\visual studio 2012\projects\zdhproject\zdhproject\vec.h(47): 参见对正在编译的类 模板 实例化“Vec<T>”的引用
1>c:\users\lenovo\documents\visual studio 2012\projects\zdhproject\zdhproject\vec.h(38): error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>c:\users\lenovo\documents\visual studio 2012\projects\zdhproject\zdhproject\vec.h(38): error C2238: 意外的标记位于“;”之前
*/
始终搞不明白为什么报错,难道是找不到allocator类?跪求大神指点.....
[ 本帖最后由 zdhbrian 于 2014-2-16 22:01 编辑 ]