MinPriorityQueue と MaxPriorityQueue をカプセル化するインターフェイスを作成しようとしています。どちらにも iterator と const_iterator があります (そのため、反復アクセスを許可しない標準ライブラリではなく、独自の優先キューが必要です)。
template <typename T> class PriorityQueueInterface
{
public:
typename ArrayList<T>::iterator iterator;
typename ArrayList<T>::const_iterator const_iterator;
virtual void insert( T item ) = 0;
virtual bool get( T key, T& value ) const = 0;
virtual T front() const = 0;
virtual T back() const = 0;
virtual ~PriorityQueueInterface() {}
};
ArrayList は私が作成したものです。
これによりエラーが発生します:
エラー 1 エラー C2143: 構文エラー: ';' がありません '<' の前
は、これらの型名を定義しなくても機能するため、わかりません。クラスが抽象的でない場合、型名は機能しますが、インターフェイスにそれらの反復子を含めたいです。
編集:わかりました、私は問題を見つけたと思います。それはこのコードとは関係ありません。元の投稿を再作成しました。誰かがまだ役に立つことを願っています。