错误:在类方法声明中无效使用void表达式

时间:2011-12-26 16:39:45

标签: c++

这是交易。我正在尝试构建一个EditorBuffer类(用于单行的文本编辑)。

该类由两个字符堆(stack<char> before , stack<char> after)组成,其中前堆栈表示位于“游标”之前的所有字符,而后堆栈表示“游标”之后的所有字符。在下面显示的声明中,我得到了错误error: Invalid use of void expression,这对我来说完全不同。

以下是方法声明:

void EditorBuffer::moveCursorToEnd()
{
    while (!after.empty())
    {
        before.push(after.pop());
    }

}

1 个答案:

答案 0 :(得分:6)

std::stack::pop()不返回任何内容(其返回类型为void)。你可能想这样做:

before.push(after.top());
after.pop();