,STL源码剖析中的vector代码,编译出错

求助,STL源码剖析中的vector代码,编译出错template class T, class Alloc allocclass vector{public:t

求助,STL源码剖析中的vector代码,编译出错


template <class T, class Alloc = alloc>
class vector
{
public:
typedef Tvalue_type;
typedef value_type*pointer;
typedef value_type*iterator;
typedef value_type&reference;
typedef size_tsize_type;
typedef ptrdiff_tdifference_type;

protected:
typedef simple_alloc<value_type, Alloc>data_allocator;    //这句注释掉就不错了
iterator start;
iterator finish;
iterator end_of_storage;
};

1>g:\stl学习\sgi_stl\sgi_stl\sgi_stl.cpp(27) : error C2143: 语法错误 : 缺少“;”(在“<”的前面)
1>        g:\stl学习\sgi_stl\sgi_stl\sgi_stl.cpp(40): 参见对正在编译的类 模板 实例化“vector<T,Alloc>”的引用
1>g:\stl学习\sgi_stl\sgi_stl\sgi_stl.cpp(27) : error C4430: 缺少类型说明符 - 假定为 int。注意: C++ 不支持默认 int
1>g:\stl学习\sgi_stl\sgi_stl\sgi_stl.cpp(27) : error C2238: 意外的标记位于“;”之前

为什么错了啊,怎么都想不通,求解释
[解决办法]
是不是没包含 simple_alloc 的头文件啊.
[解决办法]
引用:
引用:是不是没包含 simple_alloc 的头文件啊.
头文件是哪个?
不能识别的类名不是应该直接提示么
既然你知道类名应当是不能识别的,就先把simple_alloc的定义加进去啊
STL的编译错误是以难懂著称的
[解决办法]
如果lz已经有simple_alloc的定义,不妨发上来看看,如果没有,就老老实实写好再说