2
我想重載運算符[]。下面的代碼不能編譯,我懷疑我只是犯了一個語法錯誤,但我需要幫助理解我在做什麼錯誤以及爲什麼。在模板類中運算符[]的可變模板超載
下面是相關代碼的摘錄:
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){
//...
}
注1:我想按照編譯時轉換爲類型在this answer頂端檢查建議。
另請參閱http://www.parashift.com/c++-faq/matrix-subscript-op.html – dyp