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