Могу ли я иметь два перегруженных 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;
};
Этот класс содержит объявления этих перегруженных операторов. Однако я не включил определение в свой вопрос.