C2676二进制'++':'NumSet'不定义此运算符或转换为预定义运算符可接受的类型

时间:2016-04-21 18:43:46

标签: c++ override overrides

我正在尝试在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;

我覆盖了许多操作员,唯一给我错误的人(至少现在)是'++'和' - ',我写的几乎完全相同。我无法弄清楚我在这里做错了什么。

0 个答案:

没有答案