Два одинаковых перегруженных оператора [] - PullRequest
0 голосов
/ 12 ноября 2019

Могу ли я иметь два перегруженных operator[] в одном классе?

Я не понимаю, какое определение используется, когда я использую operator[], не является ли int неоднозначным? Разве они не имеют одинаковую подпись?

template <class T, int n> 
class ArrayTP 
{ 
private: 
    T ar[n]; 
public: 
    ArrayTP() {};

    virtual T & operator[](int i); 
    virtual T operator[](int i) const;
};

Этот класс содержит объявления этих перегруженных операторов. Однако я не включил определение в свой вопрос.

...