Я пытаюсь использовать предопределенный operator[]
в другом методе того же класса. Однако я понятия не имею, как действовать. Смешная часть заключается в том, что я даже не знаю, как это сделать :(... Пожалуйста, советую ...C++: использование предопределенного оператора [] в другом методе
Это часть двусвязного списка - я хочу включить в него поведение Array (я знаю - нехорошо :)).
Фрагмент кода:
template <typename T>
T& DLL<T>::operator[](int i) const{
Node <T>*n = this->head;
int counter = 0;
while (counter > i) {
n = n->next;
counter++;
}
return n->next->val;
}
template <typename T>
T& DLL<T>::at(int i) const throw (IndexOutOfBounds) {
if (i < 0 || i >= elemNum) {
throw IndexOutOfBounds("Illegal index in function at()");
}
// I want this part to use the predeclared operator
// obviously this is not right...
return this[i]; // Why u no work?!??!?
}
Думаете, вы имели в виду '(* this) [i]'. «у вас нет работы», потому что вы используете индексацию poiner; не ваш оператор. – WhozCraig
@WhozCraig Woops! Я думаю, вы должны опубликовать его как ответ, а не комментарий, - но на самом деле это решение ... Спасибо! – RafazZ