注册 登录
编程论坛 C++教室

关于allocator类的问题

zdhbrian 发布于 2014-02-16 21:59, 485 次点击
本人正在阅读《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 编辑 ]
2 回复
#2
rjsp2014-02-17 08:19
贴代码
#3
fl89622014-02-21 11:04
代码呢?
1