目的:获取栈顶元素的值并弹出
原始错误代码
stack<int> s;
int a = s.pop();
代码会报错:error C2440: “初始化”: 无法从“void”转换为“int”
分析
- top()是取栈顶元素,不会删除里面的元素,返回栈顶的引用;
- pop()是删除栈顶元素,返回void。
正确写法
stack<int> s;
int a = s.top();
s.pop();
作用是获取栈顶元素的值,并将其弹出栈。
stack<int> s;
int a = s.pop();
代码会报错:error C2440: “初始化”: 无法从“void”转换为“int”
stack<int> s;
int a = s.top();
s.pop();
作用是获取栈顶元素的值,并将其弹出栈。