Я пытаюсь перегрузить оператор []. Следующий код не компилируется, и я подозреваю, что просто делаю синтаксическую ошибку, но мне нужна помощь в понимании того, что я делаю неправильно и почему.Variadic templated перегрузка оператора [] в шаблоном классе
Вот выдержка из соответствующего кода:
template <typename T>
class MultiDimArray{
public:
template <typename ...I>
T& operator[](const size_t firstIndex,const size_t ...I);
//...
}
template <typename T> //class's template parameter(s)
template <typename ...I> //function's template parameter(s)
T& MultiDimArray<T>::operator[](const size_t firstIndex,const size_t ...I){
//...
}
Note1: Я пытаюсь следить за время компиляции раскладывающихся проверок типов, предложенные на вершине this answer.
Также см. Http://www.parashift.com/c++-faq/matrix-subscript-op.html – dyp