我正在尝试在C ++中覆盖++操作,但是我在课堂上使用++时遇到错误C2676。
我超越命令的方式:
void NumSet::operator++() {
int newVal;
for (int i = 0; i < this->_filledCells; i++)
{
newVal = this->_nums[i] + 1;
if (this->isValid(this->_nums[i] + 1))
{
this->_nums[i] = newVal;
}
else
{
cout << "Number " << newVal << " isn't valid" << endl;
}
}
}
我使用该命令的地方,即给我错误:
NumSet* mySet = new NumSet();
mySet->insert(1);
mySet->insert(3);
mySet->insert(5);
mySet->insert(5);
mySet->insert(8);
// Check operator ++ - Increase each cell value by one.
(*mySet)++;
cout << *mySet << endl;
我覆盖了许多操作员,唯一给我错误的人(至少现在)是'++'和' - ',我写的几乎完全相同。我无法弄清楚我在这里做错了什么。