0

このコードがコンパイルされないのはなぜですか (Cygwin)?

#include <vector>

template <class Ttile>
class Tilemap
{
    typedef std::vector< Ttile > TtileRow;
    typedef std::vector< TtileRow > TtileMap;
    typedef TtileMap::iterator TtileMapIterator; // error here
};

エラー: std::vector<std::vector<Ttile, std::allocator<_CharT> >, std::allocator<std::vector<Ttile, std::allocator<_CharT> > > >' is not derived from typeTilemap と入力してください

4

1 に答える 1

4

TtileMap::iteratorはまだタイプであることがわかっていないためです。キーワードを追加しtypenameて修正します

typedef typename TtileMap::iterator TtileMapIterator;
于 2010-03-15T15:56:59.750 に答える