ココが厳しいよMinGW part4 内部テンプレートクラスの宣言方法
さてさて、早速 何処が厳しいのかって?
以下のプログラムをどうぞ。
さて、何処をミスっているのでしょう?私はまったくわかりません・・・。
template<class T >
class gapbuffer : protected std::vector<T,std::allocator<T> >
{
public:
typedef std::allocator<T> A;
typedef gapbuffer<T> self_type;
#endiftypedef std::vector<T,A> base_type;
typedef typename base_type::size_type size_type;
typedef typename base_type::value_type value_type;typedef typename base_type::reference reference;
typedef typename base_type::const_reference const_reference;typedef typename base_type::pointer pointer;
typedef typename base_type::const_pointer const_pointer;
typedef typename base_type::iterator base_iterator;
typedef typename base_type::const_iterator const_base_iterator;
private:
//unsigned int -> size_type;
size_type gb_, ge_;
const size_type initGapSize_;
public:template<class T,typename Traits,typename Boss>
class iterator_base : public std::random_access_iterator_tag {
public:typedef T value_type;
//typedef typename Traits::value_type value_type;
typedef typename Traits::pointer pointer;
typedef typename Traits::reference reference;typedef iterator_base<
T,
policy::non_const_traits<T>
,Boss
> iterator;
//以下略
しかし、どうも
らへんがエラッているぞ!との警告が・・・。
template<class T,typename Traits,typename Boss>
ウーム。さて、どうする?
とりあえず、内部クラスのテンプレート引数Tを_Tに変えてみました。
そしたら無事にコンパイル通るじゃありませんか。ヽ(`Д´)ノムキィ