我在 C++ 中重载了一个简单类的 [](方括号)运算符,以从数组中返回一个整数。我现在要在成员函数中重用这个重载运算符。我无法实现这一点,因为 using*this[ i ]
显然不起作用,尽管我可以直接引用运算符:
int & A::operator [] (size_t i)
{
return ints[ i ];
}
...
int A::getVal ( size_t i) const
{
// Does not work
return *this[ i ];
// Does work
// return operator []( i );
}
为什么取消引用指针this
并使用运算符 [] 会导致编译错误,但直接调用运算符会起作用?
我得到以下错误编译:
无法从 'const Array' 转换为 'char'
感谢您的任何意见。