テンプレートクラスを次のように定義しています
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を使用してコンパイルしていますが、インクルードvector
とboost::shared_ptr
が存在することを確認しました。テンプレートを削除して、すべてのものT
に置き換えると、int
エラーなしでコンパイルされます。
私は何が欠けていますか?テンプレートクラスを定義し、イテレータをtypedefしたいと思います。