我正在定义一个模板类如下
template <class T>
class MyVector : public std::vector<boost::shared_ptr<T>>
{
public:
typedef MyVector::iterator MyIter;
};
我在 typedef 中收到此错误MyIter
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
我正在使用 VS 2010 进行编译,我已确保包含 forvector
和boost::shared_ptr
存在。如果我删除模板T
并将其替换为int
所有编译没有错误的内容。
我错过了什么?我想定义一个模板类并 typedef 迭代器。