Я сделал "T operator[](int i) const" и "T& operator[](int i)" для класса A.
(и я также пробовал это для «const T& operator[](int i) const» и «T& operator[](int i)»)
Оператор печатает значение, чтобы различать, какой оператор вызывается.
A a;
int k = a[0];
k = a[0];
const int l = a[0];
результат: три вызова неконстантной версии.
Как я могу вызвать константную версию? Должен ли я использовать класс const? Нет возможности вызвать функцию с константной версией без использования константного класса?