İç içe geçmiş bir şablonu nasıl uzmanlaşırım? (Aşağıdaki hataya bakın.)İç içe şablon uzmanlığı "Açık şablon bağımsız değişkenlerinin yasa dışı kullanımı" ile sonuçlanır?
using std::reverse_iterator;
template<typename It>
reverse_iterator<It> make_reverse_iterator(const It &it)
{
return reverse_iterator<It>(it);
}
template<typename It>
It make_reverse_iterator<reverse_iterator<It> >(const reverse_iterator<It> &it)
{
// Above ^
// error C2768:
// 'make_reverse_iterator': illegal use of explicit template arguments
return it.base();
}
Örnekte iç içe geçmiş şablon nerede? Tek gördüğüm, izin verilmeyen kısmi işlev uzmanlığı. –
@ R.MartinhoFernandes: Belki yanlış terimi kullandım ... Ben (iç içe) tür 'It' dayalı templu 'reverse_iterator', konusunda uzmanlaşmış anlamına geliyordu. –
Mehrdad
İşlev şablonlarının kısmi özelleştirilmesine izin verilmiyor - burada neler oluyor? – Jon