将堆栈中的值移动到 C++ 中的向量
move values in stack to a vector in c++
我正在尝试将堆栈中的元素移动到向量中。我尝试了以下方法:
for(int i=0; i<vector1.size();i++)
{
vector1[i]=stack1.pop();
}
但它一直给我错误。
std::stack<T>::pop()
doesn't return a value (it's a void function)。你需要得到顶部,然后弹出,即
for(int i=0; i<vector1.size();i++)
{
vector1[i]=stack1.top();
stack1.pop();
}
std::stack::pop
没有 return 值
您需要使用 std::stack::top
获取顶部元素,然后将其从堆栈中移除,如下所示:
vector1[i]=stack1.top();
stack1.pop();
那是因为 pop() 函数没有 return 值。
您需要使用 top() 来 return 获取堆栈顶部的元素,然后使用 pop() 来消除该元素...
for (int i = 0; i<vector1.size(); i++)
{
vector1[i] = stack1.top();
stack1.pop();
}
我正在尝试将堆栈中的元素移动到向量中。我尝试了以下方法:
for(int i=0; i<vector1.size();i++)
{
vector1[i]=stack1.pop();
}
但它一直给我错误。
std::stack<T>::pop()
doesn't return a value (it's a void function)。你需要得到顶部,然后弹出,即
for(int i=0; i<vector1.size();i++)
{
vector1[i]=stack1.top();
stack1.pop();
}
std::stack::pop
没有 return 值
您需要使用 std::stack::top
获取顶部元素,然后将其从堆栈中移除,如下所示:
vector1[i]=stack1.top();
stack1.pop();
那是因为 pop() 函数没有 return 值。
您需要使用 top() 来 return 获取堆栈顶部的元素,然后使用 pop() 来消除该元素...
for (int i = 0; i<vector1.size(); i++)
{
vector1[i] = stack1.top();
stack1.pop();
}