この問題の適切な名前が見つかりませんでした。
ネストされたイテレータ クラスを含むテンプレート クラス Array があります。
class Array<T>::Iterator
関数「ソート」を定義したい:
template <typename T, class RAIterator>
void sort(RAIterator start, RAIterator end);
問題は、g++ が関数のシグネチャから T を推測できないことです。関数を T の指定 (例: sort<T>(...) ) から独立させたいので、この (明らかに間違った) 構文について考えていました。
template <typename T, class RAIterator<typename T>>
void sort(RAIterator start, RAIterator end);
実際にコンパイラに T を理解させる方法はありますか?