以下のコードで変数を送信し、その変数を値を「返す」ことなくスタックの最上位の値に変更する方法について混乱しています。したがって、1が一番上にある場合、stack.pop(variable)を実行すると、variableは1になります。
void DynIntStack::pop(int &num)
{
StackNode *temp; // Temporary pointer
// First make sure the stack isn't empty.
if (isEmpty())
{
cout << "The stack is empty.\n";
}
else // pop value off top of stack
{
num = top->value;
temp = top->next;
delete top;
top = temp;
}
}